Guide
How to fix an expired SSL certificate
Fixing expired TLS means issuing a new certificate and serving it on the live port. Confirm what the world sees, renew, reload terminators, and verify browsers and automation agree.
Updated Mar 19, 2026 837 words
Fixing expired TLS means issuing a new certificate, installing the full chain on the listener strangers reach, and verifying externally—not tweaking browsers.
Runbooks should start with live handshake inspection, not cache clears.
Short-lived ACME certs reward automation; manual annual renewals need calendar discipline.
First response
Fixing expired TLS means issuing a new certificate and serving it on the live port. Confirm what the world sees, renew, reload terminators, and verify browsers and automation agree.
Search interest in ssl certificate expired fix rises when the leaf notAfter on the hostname customers type is already in the past. Clients cannot rewrite server certificate dates; they only accept chains that pass PKIX checks at handshake time.
For How to fix an expired SSL certificate, prove the failure from outside your office VPN before you change application code, purge caches, or ask end users to reboot. Capture the broken serial number and notAfter, renew on the listener that actually terminates that name, reload every node in the path, then re-run the same OpenSSL and browser checks that opened the incident.
Escalations for ssl-certificate-expired-fix should cite fresh openssl baseline before and serial check after fix output before anyone edits client code or blames Wi‑Fi. Fixing expired TLS means issuing a new certificate and serving it on the live port. Confirm what the world sees, renew, reload terminators, and verify browsers and automation agree. When generic expired cert outages clusters around Operators running renewal runbooks, the expired material is usually bound to the live terminator presenting stale notAfter instead of a mysterious platform bug. Executive summaries need the public hostname and current notAfter, not screenshots from a VPN-split test laptop.
See also Android SSL certificate expired errors and Certificate chain incomplete in the browser.
What this error means
Renewal replaces key material and extends notAfter. Clients require the new cert on the wire immediately.
Reload beats reboot for most daemons; ensure orchestration rolls all replicas.
Close incidents only when openssl, browsers, and automation agree the site is trusted.
In PKIX terms, Operators running renewal runbooks treat the TLS Certificate message as authoritative: signatures must verify, each link must be within notBefore/notAfter, and only then does name matching run against CN and SAN. When the leaf expired, generic expired cert outages is expected even if the issuer is publicly trusted. Guides titled ssl certificate expired fix still require reading dates on every certificate the server sends, including forgotten cross-sign intermediates.
Triage for ssl certificate expired fix should reject quick myths: flushing DNS or rebooting laptops does not move server notAfter forward. It is not proof the whole internet is broken when other HTTPS sites load for Operators running renewal runbooks. It is not interchangeable with registrar billing lapses unless revalidation fails later. It is not fixed by turning off TLS at the load balancer while marketing keeps publishing https:// links. Validated externally, openssl baseline before and serial check after fix must show fresh dates on the live terminator presenting stale notAfter before you close the incident.
Common causes
These patterns appear often during ssl certificate expired fix incidents. They are not exhaustive, but they explain why renewal looked finished internally while strangers still received expired material.
Runbooks for ssl certificate expired fix most often break at handoff: certbot or a vendor portal issued new certs, but the live terminator presenting stale notAfter never received a reload. Teams tracked PEM files in git while production continued serving the previous listener binding. OV renewals waited on legal approvers until generic expired cert outages became customer-visible. Inventory spreadsheets omitted the hostname that Operators running renewal runbooks actually call during peak traffic.
Architecture amplifies ssl certificate expired fix: multiple regions, canary pools, or blue/green deploys can leave one ASG member presenting yesterday's fullchain. Shared IP default certificates silently terminate vanity hostnames without dedicated SNI rules. Mounted TLS secrets updated on disk while Envoy or nginx workers kept the old chain until signaled. Fixing expired TLS means issuing a new certificate and serving it on the live port becomes harder to debug when only a fraction of Operators running renewal runbooks hit the stale anycast node.
Measurement gaps complete the story for ssl certificate expired fix. Synthetic monitors that disable certificate verification greenlit deploys that fail for real Operators running renewal runbooks. Redirect maps hid which hop expired until operators ran openssl baseline before and serial check after fix per hostname. Dashboards celebrated TCP uptime while notAfter crossed midnight UTC without a page. Post-mortems should ask whether CT logs or stapled OCSP would have warned days earlier.
Confirm from the outside
OpenSSL
echo | openssl s_client -connect HOST:443 -servername HOST 2>/dev/null | openssl x509 -noout -dates -subject -issuer
Baseline command: s_client with -servername matching public DNS.
How to read the output
Start with openssl baseline before and serial check after fix against the live customer hostname, capturing the leaf presented after SNI selection. Interpret notBefore= and notAfter= first: past notAfter guarantees failure for generic expired cert outages regardless of pretty issuer branding. Next read subject= and any X509v3 Subject Alternative Name extension for alignment with the URL bar. Finally note issuer= so you know whether renewal changed intermediates; record serial numbers in the ticket for post-deploy diffing.
curl
curl -vI --connect-timeout 10 https://HOST/ 2>&1 | grep -Ei 'expire|SSL certificate|subject:|issuer:'
Keep a canonical curl probe in the runbook.
Browser spot-check
Screenshot after padlock shows renewed issuer and dates.
Fix checklist
Work this list in order for how to fix an expired ssl certificate. Each step should produce evidence (command output, timestamps, serial numbers) you can paste into the incident ticket.
- Confirm expiry externally.
- Obtain replacement via ACME or CA portal.
- Validate domain control early.
- Install fullchain on correct listener.
- Reload services or roll deployment.
- Verify from three networks.
- Update inventory of cert locations.
- Schedule next renewal before 30-day mark.
Roll out and verify
Procurement for ssl certificate expired fix begins with a reissue that lists every hostname Operators running renewal runbooks need, including forgotten admin and callback URLs. Validate CSR/key pairs, download CA bundles, and schedule work on the live terminator presenting stale notAfter during a staffed change window. If automation handles ACME, prove challenges use the same DNS names customers resolve publicly, not internal-only labels.
Installation for ssl certificate expired fix means concatenating leaf and required intermediates the way your stack documents, then touching every node that terminates the name. Reload web servers, recycle ingress pods, or update cloud listener objects so data planes read new bytes. For load balancers, sync default and per-host certificates so SNI cannot fall back to expired defaults. Repeat openssl baseline before and serial check after fix until fingerprints or serials change everywhere responders tested earlier.
Verification for ssl certificate expired fix must mimic strangers: external synthetics, mobile carriers, and CI jobs without corporate trust roots. Confirm generic expired cert outages disappeared for Operators running renewal runbooks on flows heavier than GET /. Restore any strict TLS, HSTS, or CDN SSL modes relaxed during firefighting. Feed the hostname into continuous notAfter monitoring with thresholds well before the next CA-enforced renewal cliff.
What to automate
Certificate files on disk lie. Automate live TLS checks on the exact hostname and port users hit, including redirects and the certificate presented after TLS terminates on a load balancer or CDN. Pair certificate notAfter with RDAP domain registration expiry so re-validation is not blocked by a lapsed registrar.
Automate the same openssl command your runbook documents. Schedule alerts at 30, 14, 7, and 1 day before expiry so on-call has runway for ACME failures, manual OV revalidation, or change windows. Services such as ssldays can run external checks and renewal reminders without replacing your CA workflow.
Frequently asked questions
Zero downtime?
Use LB dual-cert swap or hot reload patterns.
Forgot intermediate?
Clients fail trust; always deploy fullchain.
Multiple servers?
Configuration management must push to all.
Post-incident review?
Document missed alert and owner gaps.
See what the server presents right now
Free live certificate check — no signup.