Tallwatch
Back to blog
2 min read
Uptime monitoringGuide

How to catch an expiring SSL certificate before users do

An expired certificate takes the site down as hard as a crashed server — and it is almost always preventable. Here is a simple warning cadence that works.

NK

Nabin Khair

Founder

How to catch an expiring SSL certificate before users do

Expired TLS is a boring outage. Browsers show a scary interstitial. API clients refuse to connect. Mobile apps fail in ways that look like "our backend is down." Nobody feels clever afterward, because the expiry date was sitting in the certificate the whole time.

Why auto-renewal is not enough

Let's Encrypt and managed certs fixed the old calendar problem. They did not remove the new one: renewal jobs fail when DNS challenges break, rate limits trip, a CNAME drifts, or someone revokes access to the DNS API. The certificate that was "automatic" becomes a landmine with a date on it.

If you only find out at expiry, your monitoring was not watching the clock.

A cadence that leaves room to act

  • 30 days out — notice in the team channel. Plenty of time for routine renewal.
  • 14 days out — treat it as a real task. If automation should have renewed by now, something is wrong.
  • 7 days out — on-call or owner must intervene. Manual renewal path ready.
  • 1 day out — page like a production incident. It is one.

You can implement this with a dedicated SSL monitor, or by watching HTTPS carefully and parsing expiry where your tool supports it. Either way, the human process matters more than the product logo.

Inventory is the unglamorous half

List every hostname customers hit: apex, www, api, app, status, vanity domains, partner CNAMEs. Wildcard certs are convenient and also a single blast radius when renewal fails.

Check the chain, not only the leaf. Missing intermediates break picky clients while Chrome on your laptop still looks fine — a cousin of the "200 OK but still down" problem.

What to do when the warning fires

  1. Confirm which cert and which host.
  2. See whether the ACME or vendor renewal ran.
  3. Fix DNS or API credentials if that was the break.
  4. Renew manually if needed, then verify from outside your network.
  5. Write down why automation failed so the next 30-day warning is quieter.

HTTPS uptime checks will catch a fully expired cert as downtime. That is the backstop, not the plan. The plan is to get the email while you can still fix it in daylight.

Related

Keep reading

False alerts and status pages.

How to migrate off a free uptime tool without a lost weekend

How to migrate off a free uptime tool without a lost weekend

Leaving a free checker does not require a hero migration. Run both in parallel, match URLs, and cut over when the new pager has earned trust.

NKNabin Khair
Website slow vs website down — how to tell which problem you have

Website slow vs website down — how to tell which problem you have

Latency and downtime feel the same from a frustrated browser. They are different incidents with different fixes — and different paging rules.

NKNabin Khair
What to do in the first two weeks after you turn monitoring on

What to do in the first two weeks after you turn monitoring on

The first fortnight of real monitoring is noisy on purpose. Here is how to tune it into something you trust — before the team learns to mute everything.

NKNabin Khair