Самые актуальные материалы по DevOps на русском и английском языке
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Другие наши проекты: https://tprg.ru/media
Post #7978
166

ACME отработал с кодом 0, а пользователи всё ещё получают старый сертификат
Cron обновил сертификат, джоба зелёная, а nginx, HAProxy или IIS держат в памяти прежний: файлы на диске новые, но процесс перечитывает их только после reload. Второй случай: скрипт кладёт файл в один каталог, а конфиг после давней миграции читает из другого. Скрипт выйдет с нулём, ничего не изменив.
Поэтому пайплайн заканчивается не успешной командой, а проверкой живого эндпоинта после reload:
• снять сертификат с боевого адреса:
• сравнить serial и notAfter с тем, что только что задеплоили;
• расходятся: сделать reload и проверить, из какого пути читает сервис.
Пока этого шага нет, об истёкшем сертификате вы узнаёте от пользователей. Разбор цепочки от renew до recover — в статье на DevOps.com.
Cron обновил сертификат, джоба зелёная, а nginx, HAProxy или IIS держат в памяти прежний: файлы на диске новые, но процесс перечитывает их только после reload. Второй случай: скрипт кладёт файл в один каталог, а конфиг после давней миграции читает из другого. Скрипт выйдет с нулём, ничего не изменив.
Поэтому пайплайн заканчивается не успешной командой, а проверкой живого эндпоинта после reload:
• снять сертификат с боевого адреса:
echo | openssl s_client -connect example.com:443 -servername example.com | openssl x509 -noout -serial -enddate;• сравнить serial и notAfter с тем, что только что задеплоили;
• расходятся: сделать reload и проверить, из какого пути читает сервис.
Пока этого шага нет, об истёкшем сертификате вы узнаёте от пользователей. Разбор цепочки от renew до recover — в статье на DevOps.com.
- ✍ 1














