Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья6 мин чтенияПросмотры0

Автопродление TLS включено, а сертификат истекает: что проверить

Разбираем цепочку автопродления TLS: от запуска ACME-клиента до сертификата на CDN. Читатель получит проверяемый список доказательств и критерий готовности.

Комментарии 0

Металлический ключ и лист сертификата проходят через подсвеченный механизм обновления на фоне серверных стоек
В этой статье

Если сертификат скоро истекает, одной отметки «автопродление включено» мало. Проверьте пять отдельных этапов: запуск задания, подтверждение домена, выпуск, установку в сервис и сертификат, который реально получают посетители. Сбой на любом шаге оставляет в браузере старый срок, хотя панель может выглядеть вполне успокаивающе.

Где именно ломается автопродление

Автоматизация TLS — цепочка, а не одна кнопка. Планировщик запускает ACME-клиент, центр сертификации проверяет контроль над доменом, клиент получает новый сертификат, сервис применяет его, а балансировщики и CDN начинают отдавать новую версию. Поэтому сначала определяют этап сбоя и только затем меняют настройки.

Этап

Что подтвердить

Типичный сбой

Критерий результата

Запуск задания

Свежая попытка и время следующего запуска

Таймер отключён, задача запускается не на том узле

Есть недавняя попытка для нужного набора доменов

Проверка домена

Успешный ACME challenge для каждого имени

HTTP-01 недоступен или TXT не обновился

Центр сертификации подтвердил все имена

Выпуск сертификата

Новый серийный номер и более поздняя дата окончания

Запрос отклонён центром сертификации

Новый сертификат действительно получен

Установка

Сервис читает новый файл после штатного применения конфигурации

Сертификат выпущен, но не подключён к сервису

Процесс веб-сервера использует новый сертификат

Публичные точки

Результат TLS-соединения на каждом фронтенде и CDN

Один узел продолжает отдавать старый сертификат

Все внешние точки показывают ожидаемый серийный номер и срок

Вот тут интересно: успешный код завершения ещё не доказывает выпуск нового сертификата. В документации Certbot указано, что команда обновления может завершиться с кодом 0 и тогда, когда сертификаты ещё не подошли к порогу продления. Нужны журнал конкретной попытки, новый серийный номер и более поздняя дата окончания.

Начните с фактического сертификата

Сначала зафиксируйте то, что видит внешний клиент, а не то, что лежит файлом на сервере. Это исходная точка для разговора с хостингом или администратором.

  • Имя хоста, порт и точное время проверки.

  • Издатель, серийный номер или отпечаток, даты начала и окончания действия.

  • Список имён в сертификате и полнота цепочки.

  • Публичная точка ответа: исходный сервер, балансировщик, CDN или другой фронтенд.

  • Результат для каждой точки, если один домен обслуживают несколько узлов.

Для первой внешней сверки подойдёт инструмент проверки SSL-сертификата: он помогает увидеть фактически отдаваемый сертификат. Но один результат не проверяет все узлы за балансировщиком, поэтому для распределённой схемы нужен перечень точек и повторяемая проверка каждой.

HTTP-01 и DNS-01 требуют разных условий

В описании проверок Let’s Encrypt HTTP-01 привязан к доступности служебного файла через порт 80. Если запросы принимают несколько фронтендов, проверочный файл должен быть доступен на каждом из них либо маршрутизироваться в одно согласованное место.

При DNS-01 центр сертификации ищет TXT-запись _acme-challenge. Здесь чаще мешают задержка распространения DNS, неправильная зона или слишком широкие и устаревшие учётные данные DNS-провайдера. Руководство Let’s Encrypt для интеграторов отдельно советует проектировать хранение сертификатов и доставку challenge для нескольких фронтендов, а не надеяться на локальный файл одного узла.

  • Для HTTP-01 подтвердите доступность порта 80 извне и одинаковую выдачу challenge на всех фронтендах.

  • Для DNS-01 подтвердите, какая система меняет TXT-запись, видна ли новая запись авторитетным серверам и ограничены ли права ключа нужной зоной.

  • Для каждого имени из сертификата проверьте отдельный успешный результат: один удачный домен не закрывает остальные.

Запись CAA отвечает на другой вопрос: каким центрам сертификации разрешён выпуск для домена. По RFC 8659 это ограничение для выпуска, а не проверка браузером и не подтверждение исправности автопродления. Текущая CAA может быть корректной, а challenge или установка всё равно завершатся ошибкой.

Новый файл есть, а посетитель видит старый

После успешного выпуска сертификата проверьте путь от файла до процесса веб-сервера. Certbot может только получить сертификат, а применение к веб-серверу выполняет установщик или deploy-hook. Такой hook запускается после успешного продления; его ошибка, неверный путь или отсутствие штатного применения конфигурации оставят сервис на прежнем файле.

Отдельно проверьте CDN, балансировщик и каждый фронтенд. Сертификат на исходном сервере не меняет автоматически сертификат, завершённый на внешнем CDN. В кластере один узел может сохранить старую версию, поэтому случайные проверки будут то проходить, то показывать близкий срок окончания.

Как проверить цепочку безопасно

  1. Назначьте владельца сертификата и составьте список доменных имён, публичных точек и систем, где завершается TLS.

  2. Сверьте расписание и журнал последней попытки. Отсутствие свежей попытки означает проблему до обращения к центру сертификации.

  3. Попросите администратора выполнить штатную пробную проверку через staging-среду центра сертификации. Для Certbot dry-run проверяет получение тестового сертификата; установку нужно проверять отдельно с учётом настроенных hooks.

  4. Подтвердите выбранный challenge и его условия: порт 80 и маршрутизация для HTTP-01 либо TXT-запись, распространение и минимальные права для DNS-01.

  5. После реального продления сравните серийный номер, даты и цепочку сначала в сервисе, затем на каждой внешней точке.

  6. Настройте предупреждение по сертификату, который реально отдаётся снаружи, с запасом времени на ручное исправление.

Не запускайте много досрочных боевых запросов на выпуск сертификата подряд ради проверки: у центров сертификации есть ограничения частоты. Пробная среда нужна для диагностики, а боевой выпуск сертификата — после устранения причины.

Критерий готовности

Автопродление можно считать принятым, когда есть свежая успешная попытка для всех имён, новый сертификат получен, штатно применён, а каждая публичная точка отдаёт ожидаемый серийный номер и более поздний срок. Дополнительно должно срабатывать внешнее предупреждение до критического остатка срока.

  • Планировщик запускается на ожидаемом узле.

  • ACME challenge проходит для каждого имени.

  • Получен новый сертификат с проверяемыми датами и серийным номером.

  • Сервис применил именно новый файл без незапланированной остановки.

  • Все фронтенды и CDN отдают одну ожидаемую версию.

  • Внешний мониторинг проверяет фактический TLS-ответ, а не наличие файла.

Источники и поведение Certbot и Let’s Encrypt проверены 5 ноября 2026 года. У другого ACME-клиента названия параметров и hooks могут отличаться, поэтому переносить шаги механически не стоит.

Обсуждение 0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.