Автопродление SSL: renew, timer и dry-run
Сертификат «вроде стоит». Перед отпуском на проекте прогоняем dry-run — иначе через 90 дней звонок «браузер пишет NET::ERR_CERT_DATE_INVALID».
Если SSL ещё не ставили: Let's Encrypt с нуля →
Как работает renew
Certbot сам не продлевает каждый день. Обычно:
- запускается по systemd timer или cron (2 раза в сутки);
- продлевает только сертификаты, у которых осталось меньше ~30 дней;
- при успехе перезагружает nginx/apache (если так настроено).
sudo certbot renew
sudo certbot renew --dry-run
--dry-run — пробный прогон без записи нового сертификата. Делайте перед отпуском и после смены nginx/DNS.Проверить, что timer/cron жив
Ubuntu / Debian (часто после apt install certbot):
systemctl list-timers | grep -i certbot
systemctl status certbot.timer --no-pager
Если timer нет — cron:
sudo crontab -l
# типичная строка (пример):
# 0 */12 * * * certbot renew --quiet
Логи:
sudo journalctl -u certbot.service -n 50 --no-pager
# или
sudo tail -50 /var/log/letsencrypt/letsencrypt.log
Типичные поломки renew
- Порт 80 занят / закрыт — http-01 challenge не проходит (firewall, другой процесс на 80).
- Webroot / путь в nginx — после миграции сайта challenge 404.
- DNS уехал — A-запись больше не на этот сервер.
- Rate limit LE — слишком много неудачных попыток; подождать и не долбить force-renewal.
- Нет hook на reload — сертификат обновился на диске, nginx отдаёт старый — нужен
nginx -s reloadв deploy-hook.
# пример hook (осторожно на проде — сначала dry-run)
sudo certbot renew --dry-run --deploy-hook "systemctl reload nginx"
Чеклист перед отпуском (5 минут)
sudo certbot certificates— дни до конца > 14.sudo certbot renew --dry-run— без ошибок.- Timer или cron —
active/ строка есть. - Снаружи: site-check — HTTPS 200, дни SSL.
Страховка: мониторинг
Даже с идеальным cron renew может сломаться через месяц (сменили DNS, закрыли 80, переехали на другой VPS). Внешний мониторинг видит срок сертификата снаружи и шлёт алерт за N дней — пока ещё есть время починить, а не после звонка клиента.
Подробно: если renew не сработал — что даёт мониторинг →
Честно про Mediops
Мы не подменяем certbot. Алерт по SSL и доступности — снаружи, по вашему URL. Email на free; Telegram и MAX — с тарифа «Старт».
Узнать о просрочке SSL до клиента
3 сайта бесплатно, алерты по сроку сертификата и доступности.