22 января 2025 года Let’s Encrypt объявил, что перестаёт рассылать письма об истечении сертификатов. Рассылку выключили 4 июня 2025 года, так что сейчас напоминаний от Let’s Encrypt нет вообще. Если продление у вас держалось на письме «сертификат скоро истечёт», этот контур уже не работает.
Почему Let’s Encrypt отказался от писем
- За десять лет большинство подписчиков настроили автоматическое продление, письмо для них просто шум.
- Чтобы слать напоминания, приходится хранить миллионы адресов почты, привязанных к выпущенным сертификатам. Let’s Encrypt не хочет держать эти данные.
- Рассылка стоила десятки тысяч долларов в год, эти деньги организация хочет потратить на инфраструктуру.
- Это ещё одна система, которую надо поддерживать и в которой можно ошибиться.
Тем, кому напоминания всё же нужны, Let’s Encrypt советует сторонние сервисы, например Red Sift Certificates Lite: он бесплатно присылает письма об истечении для 250 сертификатов.
Сертификаты становятся короче
Ручное продление скоро станет совсем неудобным. 7 октября 2026 года Let’s Encrypt сообщил, что с 10 февраля 2027 года все новые и продлённые сертификаты будут на 64 дня вместо 90, а в 2028 году срок сократят до 45 дней. Если клиент поддерживает ACME Renewal Info (ARI), Let’s Encrypt сам подскажет ему, когда продлевать. Если продление привязано к фиксированному числу дней до истечения, его советуют перевести примерно на две трети срока. Подробнее об этом в заметке про 64-дневные сертификаты.
Автоматическое продление через Certbot
По документации Certbot, в большинстве установок автопродление уже настроено: пакет ставит задачу в cron или таймер systemd, который регулярно запускает certbot renew. С Certbot 4.0 сертификат продлевается, когда до конца срока остаётся треть, так что переход на 64 дня Certbot переживёт без правок. Проверить это можно так:
systemctl list-timers | grep -i certbot grep -r certbot /etc/crontab /etc/cron.d/ 2>/dev/null sudo certbot renew --dry-run
Если задачи нет, документация Certbot предлагает добавить её в /etc/crontab: запуск дважды в сутки со случайной задержкой до часа, чтобы не нагружать серверы Let’s Encrypt в одну и ту же минуту:
SLEEPTIME=$(awk 'BEGIN{srand(); print int(rand()*(3600+1))}'); echo "0 0,12 * * * root sleep $SLEEPTIME && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
Чтобы веб-сервер подхватил новый сертификат, удобнее всего deploy-hook: он срабатывает только после успешного продления.
sudo certbot renew --deploy-hook "systemctl reload nginx"
Свой мониторинг срока действия
Автопродление иногда ломается: поменяли DNS, закрыли порт 80, упёрлись в лимиты. Поэтому срок действия стоит проверять отдельно и слать алерт в свой канал, а не ждать письма.
- Zabbix, Nagios, Icinga: проверка «дней до истечения» сертификата.
- Prometheus с blackbox_exporter: метрика probe_ssl_earliest_cert_expiry и правило в Alertmanager.
- Простой скрипт по cron с отправкой в Telegram или на почту.
- Внешние мониторы вроде UptimeRobot, Better Stack или Red Sift.
Быстрая ручная проверка даты окончания:
echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate
Если автопродление сломалось, сначала стоит найти причину в /var/log/letsencrypt/letsencrypt.log. Принудительное продление через certbot renew --force-renewal оставьте на крайний случай: лимиты Let’s Encrypt никто не отменял. И уберите из внутренней документации фразы вроде «придёт письмо от Let’s Encrypt».
В итоге писем об истечении сертификатов от Let’s Encrypt больше нет, а сами сертификаты с 2027 года станут короче. Рабочая схема простая: ACME-клиент с таймером, проверка через --dry-run, deploy-hook для перезагрузки веб-сервера и свой мониторинг срока действия с алертом.