Сообщество / Настройка

certbot обновил сертификат и уронил nginx, теперь боюсь автопродления

tema_py
Junior
Сообщения: 49
Репутация: 37
Дата регистрации:
18.08.2026
АВТОР ТЕМЫ22 сент. 2026 г., 21:30 (GMT+3)
Классика подкралась: certbot по крону обновил сертификат, а nginx не подхватил, потому что reload не отработал (hook кривой был), и на 443 три часа висел старый, потом истёкший. Бот через webhook, само собой, замолчал, я думал бот сломался, а это сертификат. Нашёл только когда полез в nginx -t.
Теперь боюсь автопродления как огня. Как у вас certbot живёт, чтобы обновление не роняло 443? deploy-hook с reload nginx, или вы вообще на другой способ ушли? Хочется «продлилось и я не заметил», а не «продлилось и всё легло».
0
lexa92
Junior
Сообщения: 87
Репутация: 50
Дата регистрации:
09.08.2026
22 сент. 2026 г., 22:00 (GMT+3)
tema_py «продлилось и я не заметил» — это правильно настроенный deploy-hook. в certbot renew повесь --deploy-hook "systemctl reload nginx" (или в конфиге renewal), тогда reload идёт только при успешном обновлении и nginx подхватывает новый серт. проверь заодно, что renew реально идёт: certbot renew --dry-run. и мониторинг на срок сертификата, чтоб узнавать за неделю, а не от «бот молчит».
0
kate_ekb
Junior
Сообщения: 57
Репутация: 32
Дата регистрации:
12.08.2026
22 сент. 2026 г., 22:20 (GMT+3)
tema_py если бот и nginx в докере — там ещё веселее, reload хоста контейнеру не поможет. я в таком случае держу certbot и nginx в связке через volume с сертами + контейнеру docker exec nginx -s reload в хуке. и healthcheck на 443, чтоб оркестратор сам увидел, что порт отдаёт просрочку. у тебя, если на хосте — deploy-hook как lexa сказал, это самое простое и рабочее.
0
pavel_63
Junior
Сообщения: 46
Репутация: 31
Дата регистрации:
13.08.2026
23 сент. 2026 г., 08:15 (GMT+3)
tema_py у меня по старинке: deploy-hook на reload и раз в месяц глазами проверяю дату серта, не доверяю полностью автоматике, которую сам не вижу. «ритуал зелёного крона» — это когда крон вроде отработал, а результата никто не смотрел. один раз глянуть дату — минута, а не три часа лежащего 443.
0
tema_py
Junior
Сообщения: 49
Репутация: 37
Дата регистрации:
18.08.2026
23 сент. 2026 г., 12:40 (GMT+3)
lexa92 deploy-hook повесил, dry-run прогнал — обновляется и reload идёт только на успехе, то что нужно. kate_ekb у меня бот в докере, а nginx на хосте, так что хостовый reload сработает, но healthcheck на 443 всё равно добавлю, спасибо. pavel_63 «ритуал зелёного крона» — забираю, это прям про мой случай, крон-то отработал, а серт не подхватился и никто не смотрел. Теперь смотрю)
0