Knowledge Base

Проверка срока TLS-сертификата и автообновление

Когда обновлять

Категория: SSL/TLS · Риск: low

Когда обновлять

Let's Encrypt выдаёт сертификаты на 90 дней. Certbot обновляет при < 30 днях до истечения.

Настройка автообновления

# Systemd timer (устанавливается автоматически с certbot)
systemctl status certbot.timer

# Если нет — добавить cron
30 2 * * * certbot renew --quiet --deploy-hook "systemctl reload nginx"

Мониторинг истечения

# Скрипт проверки через curl (добавить в мониторинг)
EXPIRY=$(echo | openssl s_client -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -enddate | cut -d= -f2)
echo "Сертификат истекает: $EXPIRY"

Uptime Kuma поддерживает мониторинг SSL-сертификатов с алертом за N дней до истечения.

Причины отказа автообновления

| Причина | Решение | |---------|---------| | Порт 80 закрыт (HTTP challenge) | Открыть порт 80 или использовать DNS challenge | | Nginx не reload после renewal | Добавить `--deploy-hook "systemctl reload nginx"` | | Rate limit Let's Encrypt | Подождать 7 дней или использовать --staging |