SSL certificate expired: what it means and how to fix it fast

When an SSL/TLS certificate expires, browsers stop trusting your site and show a full-page "Your connection is not private" warning. Visitors bounce, forms break, and APIs that call your domain start failing. The fix is usually quick — the hard part is catching it before your customers do.

What "SSL certificate expired" actually means

Every HTTPS site presents a certificate that proves it owns the domain and encrypts traffic. Certificates are issued for a fixed window — today most are 90 days (Let's Encrypt) or up to about 398 days for paid certificates. When the "valid to" date passes, browsers can no longer verify the site is genuine, so Chrome, Safari and Firefox block the page with an interstitial warning (error codes like NET::ERR_CERT_DATE_INVALID).

Nothing about your server or content is "hacked" — the certificate simply aged out. But to a visitor the warning looks identical to a real attack, so the practical impact is the same: lost trust and lost traffic.

How to fix an expired certificate

The exact steps depend on how the certificate was issued, but the shape is always the same — renew, install, restart, verify:

  • Auto-renewing (Let's Encrypt / Certbot, Caddy, most PaaS): the renewal probably failed silently. Run the renewal manually (e.g. `certbot renew`), check the cron/timer that should have run it, and reload the web server (nginx, Apache) so it picks up the new cert.
  • Managed hosts (Cloudflare, Vercel, Netlify, cPanel): certificates are issued for you — an expiry here usually means a DNS or domain-validation problem. Re-run the SSL provisioning in the dashboard and confirm the domain still points at the host.
  • Paid/manual certificates: buy the renewal from your CA, complete domain validation, then install the new certificate + intermediate chain and restart the server.
  • After installing, hard-refresh and confirm the padlock returns — then check the chain and the new expiry date.

Verify the fix (and the whole chain)

A certificate can be "installed" but still broken if the intermediate chain is incomplete — desktop browsers sometimes cache the intermediate and hide the problem that mobile clients will hit. Confirm the new expiry date, the issuer, and that the chain is complete before you call it done.

You can check any domain in seconds with the free SSL certificate checker — it shows the expiry date, days remaining, issuer and chain trust with no signup.

Never let it expire again

Auto-renewal is not "set and forget" — renewals fail for boring reasons (a moved DNS record, a rate limit, a disabled cron, a firewall change) and fail silently. The only reliable defence is a warning that reaches a human days before the deadline.

That is exactly what VigilDog's SSL/TLS monitoring does: it watches the live certificate on every domain you manage and alerts you at about 14 days out, then escalates as the date nears — so an expiring certificate is a five-minute renewal, never a customer-facing outage.

Frequently asked

How long does it take to fix an expired SSL certificate?
Usually minutes once you renew: reissue or renew the certificate, install it with the intermediate chain, restart the web server, and hard-refresh to confirm the padlock. The delay is almost always detection, not the fix itself.
Why did my auto-renewing certificate still expire?
Auto-renewal fails silently for many reasons — a changed DNS record, a disabled cron or systemd timer, a rate limit, or a firewall blocking the validation request. Because nothing errors visibly, the first sign is often the browser warning. Monitoring closes that gap.
Is an expired certificate a security risk?
The encryption itself still works, but browsers can no longer verify the site is authentic, so they block it. It also trains users to click through security warnings, which is the real long-term risk.

Never get caught by an expired certificate again.

VigilDog watches the live certificate on every domain you manage and warns you days before it expires.

Free for your first domain · No card