Powrót do bloga

Certyfikat SSL wygasł - co robić

· 6 min czytania

W skrócie: Wygaśnięcie certyfikatu SSL powoduje, że przeglądarki blokują dostęp komunikatem "Twoje połączenie nie jest prywatne". Konwersja spada do zera, dopóki nie odnowisz certyfikatu. Ten artykuł to szybka procedura, co zrobić natychmiast i jak temu zapobiec.

W skrócie: Wygaśnięcie certyfikatu SSL powoduje, że przeglądarki blokują dostęp komunikatem "Twoje połączenie nie jest prywatne". Konwersja spada do zera, dopóki nie odnowisz certyfikatu. Ten artykuł to szybka procedura, co zrobić natychmiast i jak temu zapobiec.

Co widzi odwiedzający

Wygasły certyfikat uruchamia w przeglądarce pełnoekranowe ostrzeżenie:

  • 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"

Zwykły odwiedzający klika "Wstecz". Ponad 95 % organicznego ruchu po prostu odchodzi. Bot crawlery (Googlebot, Bingbot) przestają indeksować i po kilku dniach zaczynasz tracić pozycje w wyszukiwarce.

Procedura, jeśli właśnie teraz wygasł

  1. Zidentyfikuj, kto wystawił certyfikat. W terminalu: openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates
  2. Let's Encrypt (za darmo, 90-dniowa ważność): typowo przez certbot renew lub przez panel hostingu (One-click renewal).
  3. Komercyjny certyfikat (DigiCert, Sectigo, GlobalSign): zaloguj się w panelu admin wydawcy, wygeneruj nowy CSR, przejdź walidację domeny (DNS TXT lub email).
  4. Wdroż nowy certyfikat do reverse proxy (nginx, Caddy, Traefik) i zrestartuj / przeładuj proces.
  5. Sprawdź przez SSL Labs lub przez nasz narzędzie SSL check, czy certyfikat jest poprawnie serwowany i chain jest kompletny.

Uwaga: Nie zapomnij o intermediate cert - bez niego nowoczesne przeglądarki mogą doczołgać chain przez AIA, ale starsi klienci i niektóre biblioteki API będą zawodzić.

Automatyczne odnawianie: Let's Encrypt + certbot

Najprostsza prewencja to całkowicie zautomatyzować odnawianie. Certyfikat Let's Encrypt odnawia się co 90 dni przez certbot:

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

Ten cron biegnie codziennie o 3:00 rano. Certbot wewnętrznie sprawdza, czy certyfikat zbliża się do wygaśnięcia (domyślnie 30 dni z wyprzedzeniem). Jeśli tak, odnowi go i po sukcesie przeładowuje nginx. Inaczej nic nie robi.

Caddy i Traefik: w pełni automatycznie

Jeśli używasz Caddy lub Traefik jako reverse proxy, ACME challenge jest wbudowane w binarkę. Wystarczy oznaczyć domenę w config i serwer sam wystawi i odnowi certyfikat:

# Caddyfile
mywebsite.com {
  reverse_proxy localhost:3000
}

Żadnego certbot, żadnego cron. Caddy w tle wywołuje API Let's Encrypt i zarządza renewal cycle.

Komercyjne certyfikaty: ważność 1-3 lata

Od września 2020 wszystkie publicznie zaufane certyfikaty mają maksymalną żywotność 397 dni (CA/B Forum baseline). Niektóre firmy nadal preferują komercyjne CA z powodów:

  • Extended Validation (EV) pokazuje organizację w pasku adresu (Chrome od 2019 nie wyświetla jej już prominentnie).
  • Wildcard dla wielu subdomen choć Let's Encrypt już wspiera wildcards przez DNS-01.
  • Warranty odpowiedzialność finansowa CA przy compromise.
  • Compliance / audyt niektóre branże mają zewnętrzne wymagania.

Dla większości stron wystarczy Let's Encrypt lub inna darmowa CA (ZeroSSL, Buypass).

Monitoring wygaśnięcia jako safety net

Nawet jeśli masz automatyczne odnawianie, monitoring wygaśnięcia działa jak ubezpieczenie. Renewal może się nie udać z powodu:

  • Rate limit ze strony CA (Let's Encrypt: 5 duplikatów / 7 dni)
  • Zmiana DNS, która rozbija ACME challenge
  • Reguła firewalla blokująca port 80 (HTTP-01 challenge)
  • Upadek procesu certbot lub cron, którego nikt nie zauważył

ePulz.io śledzi expiry każdego sprawdzanego endpointu i wysyła alert 30, 14, 7, 3 i 1 dzień przed końcem ważności. Wystarczy jeden zielony sygnał, że certyfikat zdążył się odnowić - i masz pewność, że automatyka działa.

Aktywuj monitoring SSL

Alerty 30/14/7/3/1 dzień przed wygaśnięciem. Bez konfiguracji, bez zmian DNS. 7 dni za darmo.

Uruchom monitoring →


Wypróbuj ePulz.io za darmo - 7 dni bez karty kredytowej.

Załóż konto