SSL-сертифікат закінчився - що робити
· 6 хв читання
Коротко: Закінчення SSL-сертифіката призводить до того, що браузери блокують доступ повідомленням «Ваше з'єднання не є приватним». Конверсія падає до нуля, доки не оновите сертифікат. Ця стаття - швидкий алгоритм, що робити прямо зараз і як цьому запобігти.
Коротко: Закінчення SSL-сертифіката призводить до того, що браузери блокують доступ повідомленням «Ваше з'єднання не є приватним». Конверсія падає до нуля, доки не оновите сертифікат. Ця стаття - швидкий алгоритм, що робити прямо зараз і як цьому запобігти.
Що бачить відвідувач
Прострочений сертифікат викликає в браузері повноекранне попередження:
- 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"
Звичайний відвідувач натискає «Назад». Понад 95 % органічного трафіку просто йде. Бот-краулери (Googlebot, Bingbot) перестають індексувати, і через кілька днів ви почнете втрачати позиції в пошуку.
Алгоритм, якщо закінчився прямо зараз
- Визначте, хто видав сертифікат. У терміналі:
openssl s_client -connect mywebsite.com:443 -servername mywebsite.com < /dev/null 2>/dev/null | openssl x509 -noout -issuer -dates - Let's Encrypt (безкоштовно, термін дії 90 днів): зазвичай через
certbot renewабо через панель хостингу (One-click renewal). - Комерційний сертифікат (DigiCert, Sectigo, GlobalSign): увійдіть до адмін-панелі видавця, згенеруйте новий CSR, пройдіть валідацію домену (DNS TXT або email).
- Встановіть новий сертифікат у reverse proxy (nginx, Caddy, Traefik) і перезапустіть / reload-те процес.
- Перевірте через SSL Labs або через наш SSL check інструмент, що сертифікат правильно віддається і chain повний.
Увага: Не забувайте про intermediate cert - без нього сучасні браузери можуть підтягнути chain через AIA, але старіші клієнти та деякі API-бібліотеки впадуть.
Автоматичне продовження: Let's Encrypt + certbot
Найпростіша профілактика - повністю автоматизувати оновлення. Сертифікат Let's Encrypt оновлюється кожні 90 днів через certbot:
# /etc/cron.d/certbot-renew
0 3 * * * root certbot renew --quiet --deploy-hook "systemctl reload nginx"
Цей cron працює щодня о 3:00 ранку. Certbot внутрішньо перевіряє, чи наближається сертифікат до закінчення (за замовчуванням за 30 днів). Якщо так - продовжує і при успіху перезавантажує nginx. Інакше нічого не робить.
Caddy і Traefik: повністю автоматично
Якщо використовуєте Caddy або Traefik як reverse proxy, ACME challenge вбудований у бінарь. Достатньо позначити домен у конфігу - сервер сам запросить і оновить сертифікат:
# Caddyfile
mywebsite.com {
reverse_proxy localhost:3000
}
Жодного certbot, жодного cron. Caddy у фоні викликає API Let's Encrypt і керує циклом оновлення.
Комерційні сертифікати: термін 1-3 роки
З вересня 2020 всі публічно довірені сертифікати мають максимальний термін життя 397 днів (CA/B Forum baseline). Деякі компанії все ще віддають перевагу комерційним CA через:
- Extended Validation (EV) показує організацію в адресному рядку (Chrome з 2019 року вже не відображає її prominent).
- Wildcard для багатьох субдоменів хоча Let's Encrypt вже підтримує wildcards через DNS-01.
- Гарантія фінансова відповідальність CA при компрометації.
- Compliance / аудит деякі галузі мають зовнішні вимоги.
Для більшості сайтів достатньо Let's Encrypt або іншої безкоштовної CA (ZeroSSL, Buypass).
Моніторинг закінчення як страховка
Навіть з автоматичним оновленням моніторинг закінчення працює як страховка. Renewal може впасти через:
- Rate limit з боку CA (Let's Encrypt: 5 дублікатів / 7 днів)
- Зміна DNS, що ламає ACME challenge
- Правило firewall, що блокує порт 80 (HTTP-01 challenge)
- Падіння процесу certbot або cron, яке ніхто не помітив
ePulz.io відстежує закінчення кожного контрольованого endpoint і надсилає alert за 30, 14, 7, 3 і 1 день до кінця терміну дії. Достатньо одного зеленого сигналу, що сертифікат встиг оновитися - і ви впевнені, що автоматика працює.
Активуйте SSL-моніторинг
Сповіщення за 30/14/7/3/1 день до закінчення. Без конфігурації, без змін DNS. 7 днів безкоштовно.
Спробуйте ePulz.io безкоштовно - 7 днів без банківської картки.
Створити акаунт