Zpět na blog

SSL certifikát expiroval - co dělat

· 6 min čtení

Ve zkratce: Expirace SSL certifikátu způsobí, že prohlížeče blokují přístup hláškou "Vaše připojení není soukromé". Konverze padá na nulu, dokud certifikát neobnovíte. Tento článek je rychlý postup, co dělat okamžitě a jak tomu předcházet.

Ve zkratce: Expirace SSL certifikátu způsobí, že prohlížeče blokují přístup hláškou "Vaše připojení není soukromé". Konverze padá na nulu, dokud certifikát neobnovíte. Tento článek je rychlý postup, co dělat okamžitě a jak tomu předcházet.

Co vidí návštěvník

Expirovaný certifikát spustí v prohlížeči celoobrazovkové varování:

  • Chrome / Edge: "Your connection is not private" (NET::ERR_CERT_DATE_INVALID)
  • Firefox: "Warning: Potential Security Risk Ahead" (SEC_ERROR_EXPIRED_CERTIFICATE)
  • Safari: "This Connection Is Not Private"

Běžný návštěvník klikne "Zpět". Přes 95 % organického trafficu jednoduše odejde. Bot crawlery (Googlebot, Bingbot) přestanou indexovat a po několika dnech začnete ztrácet pozice ve vyhledávání.

Postup, pokud právě teď expiroval

  1. Identifikujte, kdo cert vystavil. V terminálu: openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
  2. Let's Encrypt (zdarma, 90denní platnost): typicky přes certbot renew nebo přes panel hostingu (One-click renewal).
  3. Komerční cert (DigiCert, Sectigo, GlobalSign): přihlaste se do admin panelu vydavatele, vygenerujte nový CSR, projdete validací domény (DNS TXT nebo email).
  4. Nasaďte nový cert do reverse proxy (nginx, Caddy, Traefik) a restartujte / reloadněte proces.
  5. Ověřte přes SSL Labs nebo přes náš SSL check nástroj, zda se cert správně servuje a chain je kompletní.

Pozor: Nezapomeňte i na intermediate cert - bez něj sice moderní prohlížeče mohou chain dotáhnout přes AIA, ale starší klienti a některé API knihovny budou selhávat.

Automatický renewal: Let's Encrypt + certbot

Nejjednodušší prevence je úplně automatizovat obnovu. Let's Encrypt cert se obnovuje každých 90 dní přes certbot:

# /etc/cron.d/certbot-renew
0 3 * * * root certbot renew --quiet --deploy-hook "systemctl reload nginx"

Tento cron běží denně ve 3:00 ráno. Certbot interně kontroluje, zda se cert blíží k expiraci (defaultně 30 dní dopředu). Pokud ano, obnoví ho a po úspěchu reloadne nginx. Jinak nedělá nic.

Caddy a Traefik: úplně automaticky

Pokud používáte Caddy nebo Traefik jako reverse proxy, ACME challenge je zabudovaná v binárce. Stačí v config označit doménu a server si cert vyžádá i obnoví sám:

# Caddyfile
mywebsite.com {
  reverse_proxy localhost:3000
}

Žádný certbot, žádný cron. Caddy si na pozadí volá Let's Encrypt API a manažuje renewal cycle.

Komerční certy: 1-3letá platnost

Od září 2020 mají všechny veřejně důvěryhodné certy maximální životnost 397 dní (CA/B Forum baseline). Některé firmy stále upřednostňují komerční CA z důvodů:

  • Extended Validation (EV) zobrazuje organizaci v adresním řádku (Chrome ji však už od 2019 nezobrazuje prominentně).
  • Wildcard pro mnoho subdomén i když Let's Encrypt už wildcards podporuje přes DNS-01.
  • Warranty finanční odpovědnost CA při compromise.
  • Compliance / audit některá odvětví mají externí požadavky.

Pro většinu webů stačí Let's Encrypt nebo jiná zdarma CA (ZeroSSL, Buypass).

Monitoring expirace jako safety net

I když máte automatický renewal, monitoring expirace funguje jako pojistka. Renewal může selhat z důvodu:

  • Rate limit ze strany CA (Let's Encrypt: 5 duplikátů / 7 dní)
  • Změna DNS, která rozbije ACME challenge
  • Firewall pravidlo blokující port 80 (HTTP-01 challenge)
  • Pádu certbot procesu nebo cronu, který nikdo nezaregistroval

ePulz.io sleduje expiry každého kontrolovaného endpointu a posílá alert 30, 14, 7, 3 a 1 den před koncem platnosti. Stačí jeden zelený signál, že cert se stihl obnovit - a vy máte jistotu, že automatika funguje.

Aktivujte SSL monitoring

Alerty 30/14/7/3/1 den před expirací. Bez konfigurace, bez DNS změn. 7 dní zdarma.

Spustit monitoring →


Vyzkoušejte ePulz.io zdarma - 7 dní bez kreditní karty.

Vytvořit účet