Skip to content
CertificateNginxSSL

Nginx Still Serves Expired TLS Certificate After Automated Renewal

A renewal job succeeds but clients continue to receive an old certificate. This guide explains the specific Nginx dependency and the relevant upgrade, configuration or recovery boundary.

Quick Answer

First, compare the live presented leaf certificate with the file installed by the renewal client. Next, check active virtual hosts, fullchain paths and whether an authorized service reload ran. Stop before destructive changes.

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.

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

0/12 completed

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.

Official Resources

the official Nginx lifecycle or support documentation

Did this solution fix your problem?

Optional feedback helps us improve this guide. Never send private data.

PRBLEM / COMMUNITY

Discuss This Solution

Ask a question, compare results, or share a safe fix that worked for you.

Describe the exact issueInclude the error, device or software version, and what you already tried.
Protect your informationNever post passwords, recovery codes, private logs or personal data.

Leave a reply

Describe the issue, what you tried and the result. Never include passwords, private logs or access tokens.

Can't find your answer?

Tell our editors which problem needs a guide. Do not include passwords, API keys, email addresses, private URLs, or full error logs.

Analyze Error

Paste an error message to identify its likely category. Analysis takes place in your browser; only a short error category will be used if you choose to search.

Do not paste passwords, tokens, private URLs or full logs.