Planned proxy maintenance is safer when the reverse proxy can reload or restart independently from the authentication and session-state services behind it.
A proxy process usually does not need to own the login state it forwards. Before maintenance, map which component signs cookies, stores server-side sessions, terminates authentication, and drains active HTTP connections. Keep those stateful components running, prefer graceful proxy reloads when only configuration changes, and verify that a full proxy replacement reconnects to the same auth gateway and session store with unchanged secrets.
Separate Proxy Lifecycle From Auth-Service Lifecycle
Check your Compose dependencies, restart policies, shared scripts, and stack-manager actions to ensure restarting the proxy does not automatically recreate the authentication gateway, application, Redis, or database.
A session architecture example uses Redis outside the proxy lifecycle so multiple auth instances and restarts can share the same session backend.
Do not group every edge service under one blunt restart command. If a certificate or route change only affects the proxy, leave the services that validate existing login state untouched.
Reload Configuration Instead of Restarting When Possible
For route, certificate, or header changes, use the proxyโs supported graceful reload path instead of stopping the service. Validate configuration before applying it so a syntax error does not turn planned maintenance into downtime.
API7โs NGINX walkthrough explains how old workers drain connections while new workers accept requests under the updated configuration.
A reload preserves the proxy process family, but it does not protect a separate auth service if your deployment script restarts that service too. Keep those two lifecycle questions independent.
Preserve External Session Storage Across Proxy Replacement
If an auth gateway stores session data outside cookies, keep its Redis or other session backend persistent and unchanged through the proxy operation. Record the backend address and secret used by every auth instance.
OAuth2 Proxy supports Redis as shared session storage when sessions must be shared between instances.
Do not confuse a disposable cache with authoritative login state. If the session backend is required to validate current users, restart or flush it only under its own tested maintenance procedure.
Keep Cookie and Signing Secrets Stable
Record the cookie encryption or signing secret used by the auth gateway and ensure the replacement proxy stack mounts the same secret source. Generating a new value during redeploy will invalidate otherwise healthy browser cookies.
A reverse-proxy session guide notes that stable session policy survives restarts rather than on the lifetime of one TCP connection.
Rotate signing secrets as a separate security change with an explicit logout expectation or overlap strategy. Do not combine secret rotation with an ordinary planned proxy reload unless session invalidation is intentional.
Drain Connections During a Full Proxy Restart
When the proxy binary or container must be replaced, use its graceful or hitless restart mechanism where available so established requests are not cut off mid-response. Keep a maintenance timeout for long-lived connections.
HAProxyโs reload guidance shows how hitless reloads preserve connections rather than killing the old process immediately.
Connection continuity and login continuity are different. Even if a WebSocket reconnects, the session should remain valid because the replacement proxy reaches the same auth and state services.
Test One Session Before and After Planned Maintenance
Use one logged-in browser and one fresh private session. Record the session cookie, proxy route, auth service, and backend before maintenance, then reload or replace only the proxy and repeat the same protected request.
A Caddy operations guide recommends reload instead of full restart for planned configuration updates.
The maintenance design is working when existing logins survive, new logins still succeed, and no stateful dependency received an unintended restart. The related ZimaSpace article on session loss after proxy restart remains the correct recovery branch if users are still logged out.
Frequently Asked Questions
Does a graceful proxy reload guarantee users stay logged in?
No. It protects proxy connections, but users can still be logged out if the auth service, session store, or cookie-signing secret changes at the same time.
Should Redis always survive a proxy restart?
Only when Redis stores session state or another persistent dependency for authentication. A cache-only Redis instance has a different recovery boundary.
Is keeping the same cookie name enough?
No. The signing or encryption secret and the backend session state must also remain compatible with the cookie the browser already holds.
Support & Tips
More to Read

Can Plex Share a GPU With Another Docker Container?
Plex and another container can often access the same GPU, but you must test driver support, device mapping, video-engine load, memory, and recovery behavior.

How to Tell Whether a Plex Error Comes From the Client or Server
Reproduce the same item on another client, compare the session path, then collect server evidence only after scope tells you where the failure actually...

How to Configure Plex Cache and Transcode Temporary Storage
Protect persistent Plex state while placing transcode temp files on suitable local storage, then verify cleanup, free space, and restart behavior.

