Перейти к содержимому
Документация· Обновлено 15 окт. 2026 г.

Сертификат скоро истекает: автопродление certbot и проверка

Как убедиться, что Let's Encrypt продлевается сам и nginx подхватывает новый сертификат.

Что не так

Сертификат Let's Encrypt живёт 90 дней. Если до конца срока меньше 30 дней, значит автопродление, скорее всего, не работает: certbot продлевает за 30 дней до истечения.

Как проверить автопродление

certbot renew --dry-run          # тестовое продление
systemctl list-timers | grep certbot   # есть ли таймер (или cron)

Частые причины сбоя:

  • webroot: nginx не отдаёт /.well-known/acme-challenge/ (редирект на HTTPS с другим доменом, return 444, закрытый 80 порт);
  • DNS-проверка: истёк API-токен DNS-провайдера;
  • сертификат продлился, но nginx не перечитал его — нет deploy-hook.

Как исправить

server {
  listen 80;
  server_name example.com;
  location ^~ /.well-known/acme-challenge/ { root /var/www/certbot; }
  location / { return 301 https://$host$request_uri; }
}
certbot renew --deploy-hook "systemctl reload nginx"

Срок и цепочку после продления проверьте в SSL Checker.