Let's Encrypt: продление wildcard-сертификата через DNS-01 не работает

  • Обновлено
  • Чтение ≈ 2 минуты

Краткий ответ

Для wildcard нужна проверка DNS-01: TXT-запись _acme-challenge. Проверьте API провайдера DNS, TTL и права токена.

В этой статье
  1. Что означает сообщение
  2. Причины и признаки
  3. Пошаговое решение
  4. На что обратить внимание

#Что означает сообщение

Сообщение
DNS-01 failed

Для wildcard нужна проверка DNS-01: TXT-запись _acme-challenge. Проверьте API провайдера DNS, TTL и права токена.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Нет API-доступаСравните права текущего пользователя и ограничения именно для нужной операции, файла или устройства; посмотрите сообщение об отказе. Отслеживайте результат по журналу нужной службы, не по соседним сайтам.Измените только необходимое разрешение, если это одобрено владельцем системы, вместо предоставления полных прав всем пользователям.
Долгий TTLНовый TXT не виден через некоторые резолверы, хотя авторитетный сервер уже отдаёт правильное значение.Сравните ответ на авторитетном DNS и через обычный резолвер; дождитесь окончания существующего TTL перед повторной проверкой.
Лишняя TXTНесколько значений _acme-challenge могут быть нормальными при параллельном подтверждении; проверьте нужный токен.Удаляйте только устаревшее значение, когда его уже не использует другая текущая авторизация ACME.
Неверное имяTXT создана для другого уровня домена или к имени _acme-challenge автоматически добавлен суффикс зоны второй раз.Исправьте точное имя записи в редакторе DNS и повторите запрос непосредственно к авторитетному серверу.

#Пошаговое решение

  1. Проверьте исходные условияУзнайте, какой инструмент выпускает wildcard-сертификат (*.example.com), и проверьте дату окончания: для шаблонных сертификатов Let’s Encrypt требуется проверка DNS-01. Обычное открытие файла по HTTP-01 не подтверждает владение wildcard-доменом.
  2. Проверьте TXT-записьПосмотрите журнал последнего обновления certbot или другого ACME-клиента и найдите имя TXT-записи _acme-challenge.example.com, её ожидаемое значение и сообщение об ошибке. Значение TXT меняется для новой попытки; не используйте прежний токен и не удаляйте чужие активные TXT, если одновременно проходит несколько проверок.
  3. Проверьте другую возможную причинуВ панели DNS откройте зону домена и убедитесь, что TXT добавляется в правильную авторитетную зону. Проверьте запись через dig TXT _acme-challenge.example.com @имя-авторитетного-NS и затем через публичный резолвер. При нескольких DNS-провайдерах и CNAME-делегировании следует учитывать место, где реально хранится запись.
  4. Проверьте итогНастройте автоматическое обновление TXT через официальный DNS-плагин ACME для вашего провайдера с минимальными правами ключа API и безопасным хранением секрета. Повторите пробное продление (certbot renew --dry-run, если управляет certbot), проверьте развёрнутый сертификат и убедитесь, что ключи не попали в журналы.

#На что обратить внимание

Не удаляйте сторонние TXT в _acme-challenge вслепую: параллельные проверки могут использовать несколько значений. Если авторизация выполняется вручную, настройте автоматизацию для следующего продления.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.