Краткий ответ: Сертификаты Let’s Encrypt живут 90 дней, и certbot продлевает их автоматически через systemd-таймер — обычно вы не делаете ничего. Чтобы проверить автоматику, выполните sudo certbot renew --dry-run; чтобы продлить принудительно — sudo certbot renew.
Обзор
Certbot устанавливает таймер, который запускается дважды в день и продлевает любой сертификат, которому осталось меньше 30 дней. Продление повторяет исходную валидацию, поэтому всё, благодаря чему работал выпуск (DNS указывает сюда, порт 80 открыт), должно быть правдой и через месяцы — именно там продления обычно ломаются.
Что нужно иметь
- SSH-доступ с sudo.
- Знать свои текущие сертификаты и даты истечения:
sudo certbot certificates
Пошаговая инструкция
- Убедитесь, что автоматика активна:
systemctl list-timers | grep certbot
- Сымитируйте продление, не трогая реальные сертификаты:
sudo certbot renew --dry-run
- Если dry run прошёл — готово: продления будут происходить без вашего участия.
- Если сертификат уже близок к истечению и вы хотите продлить сейчас:
sudo certbot renew
sudo systemctl reload nginx # or apache2 — load the fresh certificate
Типичные проблемы
- Dry run падает с ошибкой challenge: порт 80 закрыли файрволом после выпуска или DNS переехал — восстановите доступность.
- Продлено на диске, а браузер показывает старую дату: веб-сервер не перезагружен; добавьте
--deploy-hook "systemctl reload nginx". - Сертификат для брошенного домена: certbot пытается и падает; удалите через
sudo certbot delete.
Когда обращаться в поддержку
Если продления падают с сетевыми ошибками с сервера Cloud2Y (таймауты к ACME API, когда остальная сеть работает), откройте тикет с логом certbot из /var/log/letsencrypt/.
Частые вопросы
Продлеваются ли сертификаты Let’s Encrypt автоматически?
Да — certbot устанавливает systemd-таймер, который проверяет дважды в день и продлевает сертификаты, которым осталось меньше 30 дней. Проверьте это один раз через sudo certbot renew --dry-run.
Почему сертификат просрочился несмотря на certbot?
Продление повторяет исходную валидацию, поэтому оно ломается, когда порт 80 закрыли, DNS переехал или изменился конфиг веб-сервера. Команда dry-run покажет точную ошибку.
Сертификат продлён, а браузер показывает старый — почему?
Веб-сервер всё ещё держит старый файл в памяти. Перезагрузите nginx или Apache после продления или добавьте deploy-hook, чтобы certbot делал это автоматически каждый раз.
Похожие статьи
- Как установить бесплатный SSL-сертификат
- Как исправить ошибку SSL mixed content
- Как настроить редирект с HTTP на HTTPS
Готовы начать? Заказать VPS в Cloud2Y →
