Nginx — practical diagnosis: A renewal job succeeds but clients continue to receive an old certificate. The objective is to establish which supported component or configuration is responsible, then make one reversible change at a time. Check current vendor release notes and apply these instructions only to the product and version you actually use.
Before replacing or upgrading anything
Certificate issuance, deployment to a server, and the certificate actually presented to a remote browser are different stages. A successful ACME order does not prove a load balancer is serving its new certificate. For this case, the useful starting evidence is: Compare the live presented leaf certificate with the file installed by the renewal client. This establishes the version, device, service or policy involved before a repair suggestion is applied.
Scope: CA/Browser Forum schedules affect publicly trusted TLS certificates and are phased. Internal private CAs or origin-only certificates can have separate rules; always verify the applicable trust program and date. Save the message exactly as shown, along with the date, version, operating-system edition and relevant device or account role. A support calendar is not a diagnostic error; it changes how urgently supported maintenance should be planned.
Interpret the evidence
Check active virtual hosts, fullchain paths and whether an authorized service reload ran. A comparable working system or unaffected account can narrow the problem, but it needs to use the same documented product variant. Avoid treating a successful connection, login or download as proof if the original failure happened later in the workflow.
| Evidence to check | What it distinguishes | Next supported move |
|---|---|---|
| Recorded initial symptom | A renewal job succeeds but clients continue to receive an old certificate. | Compare the live presented leaf certificate with the file installed by the renewal client. |
| Independent comparison | Whether the issue follows the client, account, release or shared infrastructure | Check active virtual hosts, fullchain paths and whether an authorized service reload ran. |
| Advanced evidence | The specific dependency rather than an assumed generic error | Verify SNI names and upstream termination points using openssl s_client from an external host. |
Step-by-Step Troubleshooting
Select Beginner for reversible checks; Advanced investigates dependencies and documents evidence.
Record the actual Nginx state
A renewal job succeeds but clients continue to receive an old certificate. Capture the precise warning or status and the applicable edition, model, runtime or tenant without any passwords or account identifiers.
Run the initial supported check
Compare the live presented leaf certificate with the file installed by the renewal client. Record what was observed, not what was expected. If an official support deadline or outage explains it, pause further local changes.
Compare against a working baseline
Check active virtual hosts, fullchain paths and whether an authorized service reload ran. Use the same app, device generation or account scope where possible. Prefer a reversible test that leaves documents, credentials and saves intact.
Confirm the original action safely
Repeat the original harmless action once and compare with A renewal job succeeds but clients continue to receive an old certificate.. Do not restart a production service before validating its configuration.
Inspect the Nginx dependency
Verify SNI names and upstream termination points using openssl s_client from an external host. Record the smallest useful version, capability or log extract for a supported diagnosis. Preserve an exact error if one actually appears.
Separate policy, version and runtime
Check active virtual hosts, fullchain paths and whether an authorized service reload ran. Check whether this condition belongs to the client configuration, organization policy, service status or rollout timeline.
Test an approved repair in isolation
Compare the live presented leaf certificate with the file installed by the renewal client. In a staging system or authorized account, change only the confirmed cause and compare before/after status. Do not restart a production service before validating its configuration.
Validate and prepare a support handoff
Verify SNI names and upstream termination points using openssl s_client from an external host. Confirm the original operation or gather a redacted report describing the unresolved dependency. Avoid publishing tokens, private keys or recovery secrets.
Apply the least disruptive correction
Read certificate validity and inspect the currently served hostname and chain first. If issuance failed, trace ACME validation; if issuance succeeded but the site is still expired, trace deployment and TLS termination. Do not execute multiple changes together: if the result improves, you need to know which change actually helped. Capture a before-and-after observation and document how to reverse a trial setting if it does not help.
First check: Nginx Still Serves Expired TLS Certificate After Automated Renewal
Compare the live presented leaf certificate with the file installed by the renewal client. If this test uncovers a published service limitation or a scheduled transition, update the plan rather than repeating the same installer or authorization prompt. If the symptom is confined to one device, proceed to a device-level comparison before changing account-wide settings.
Second check: isolate the dependency
Check active virtual hosts, fullchain paths and whether an authorized service reload ran. Record the version or status displayed. A comparison is useful only when it can be reversed and when it does not accidentally submit a payment, delete files, regenerate credentials, create duplicate jobs, or overwrite saved game progress.
Advanced check: gather proof
Verify SNI names and upstream termination points using openssl s_client from an external host. Collect a redacted log entry, request ID, exact version or negotiated capability as appropriate. Use a test environment for upgrades, key rotations, policy changes and firmware maintenance. Where an organization controls the device, confirm authorization before altering management settings.
Decision guide for this certificate issuance and renewal automation issue
If the first check reveals an unsupported version or a documented release limitation, the correct resolution is usually a planned supported upgrade or an approved alternative. If versions and support scope are correct, look for local configuration drift, a specific incompatible dependency or a service incident. Read certificate validity and inspect the currently served hostname and chain first. If issuance failed, trace ACME validation; if issuance succeeded but the site is still expired, trace deployment and TLS termination. If these observations conflict, stop and obtain vendor clarification rather than relying on a guess.
Safety and recovery boundary
Avoid this specific risk: Do not restart a production service before validating its configuration. Maintain backups or a working recovery method before making potentially irreversible changes. Do not publish credentials, license keys, private file paths, MFA recovery codes or raw customer information in support tickets. A tool that asks you to bypass policy or download a modified installer is not a trustworthy fix.
Verify the result
Repeat the original task that demonstrated the failure: A renewal job succeeds but clients continue to receive an old certificate. From a separate client, verify the presented certificate, expected hostname, full chain and expiry, and confirm a monitored renewal is scheduled before the next deadline. Re-test after a normal restart where relevant, without creating new side effects. If the task still fails, restore only the changes that were experimental and write down which observation remained unchanged.
Solution Checklist
What to include in a useful support request
Provide Nginx, the exact symptom, when it began, build or firmware version, results of the first check, results of the comparison, and the advanced evidence. Describe whether the issue impacts one account, one device or all affected clients. Do not restart a production service before validating its configuration. The aim is to give support enough detail to inspect the appropriate dependency without exposing sensitive data.