SSL сайта: DNS-01 проверка сертификата не видит опубликованную TXT-запись

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

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

DNS-01 подтверждение владения доменом не завершается, хотя TXT-запись _acme-challenge уже добавлена в панели DNS. Нужно проверить авторитетную зону и точное значение, а не только видимость записи через один кеширующий резолвер.

В этой статье
  1. Что происходит и когда применима инструкция
  2. Основные причины и их признаки
  3. Пошаговая диагностика и устранение
  4. Проверка результата
  5. Если решить проблему не удалось

#Что происходит и когда применима инструкция

DNS-01 подтверждение владения доменом не завершается, хотя TXT-запись _acme-challenge уже добавлена в панели DNS. Нужно проверить авторитетную зону и точное значение, а не только видимость записи через один кеширующий резолвер.

#Основные причины и их признаки

Возможная причинаКак узнатьЧто делать
Запись внесена в неавторитетную зонуДоменные NS у регистратора указывают на другого провайдера DNS.Панель показывает TXT, но запросы публичных NS пустыеДобавьте запись в реально обслуживаемую зону.
Неверное имя или значениеПанель могла автоматически добавить суффикс домена либо сохранить старый токен.В ответе есть TXT, но токен не совпадаетПроверьте имя и содержимое текущего вызова ACME.
Задержка или делегированиеРаспространение, TTL, DNSSEC или отдельная CNAME-делегация влияют на запрос.Разные NS и резолверы дают разные значенияПроверьте авторитетные ответы каждого узла.

#Пошаговая диагностика и устранение

  1. Уточните точное проверочное имяСкопируйте из ACME-клиента имя _acme-challenge.example.com и одноразовое значение TXT. Если сертификат покрывает несколько имён, для них могут потребоваться разные записи, иногда несколько TXT под одинаковым именем. Не используйте токен из прошлой попытки.
  1. Установите, где находятся авторитетные DNSПроверьте NS основного домена и сравните с серверами, которые указаны у регистратора. Если управлять DNS нужно через другой кабинет, запись, созданная на старом хостинге, не будет видна снаружи.
  2. Терминал с dig, без прав администратора; подставьте свой домен
    Linux · Терминал (Bash)Команда
    Терминал с dig, без прав администратора; подставьте свой домен.
    dig +short NS example.com
  1. Запросите TXT с публичного DNSПроверьте полное имя вместе с _acme-challenge; если значение пустое, убедитесь, что панель не дописала доменную часть второй раз. Для wildcard и обычного имени одного домена TXT могут сосуществовать.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)Команда
    Терминал с dig; показывает видимые записи и кавычки вокруг строк, не подтверждает ответ каждого авторитетного NS.
    dig +short TXT _acme-challenge.example.com
  1. Сравните каждый авторитетный серверДля выбранного NS выполните запрос с явным указанием сервера, затем повторите на остальных NS. Разные ответы означают незавершённое распространение или рассинхронизацию; не инициируйте продление многократно, пока значения не совпали.
  2. Только чтение
    Linux · Терминал (Bash)Команда
    Только чтение. Замените ns1.example.net действительным NS, а домен — своим.
    dig @ns1.example.net TXT _acme-challenge.example.com +noall +answer
  1. Проверьте делегирование и CNAMEЕсли _acme-challenge делегирован CNAME в другую зону, откройте целевую зону и убедитесь, что токен появляется именно там. Не добавляйте одновременно несовместимые записи на одно и то же имя. При собственном DNSSEC проверьте корректность подписей в обслуживаемой зоне.
  1. Исправьте одну запись и дождитесь распространенияСоздайте TXT с ровно тем содержимым, которое ожидает текущая попытка, и нужным полным именем. У панелей DNS название поля может означать полное имя либо только поддомен — проверьте результат через dig. Дождитесь распространения до валидаторов, избегая бесконечного перевыпуска.
  1. Повторите запрос сертификатаЗапустите подтверждение через тот же ACME-клиент, который создал текущий запрос. При ручном режиме сначала получите новый токен и проверьте его публикацию; старый токен при новом заказе может быть уже непригоден.
  1. Подготовьте автоматическое обновлениеЕсли используется DNS API, настройте ограниченные права только к нужным записям и безопасное хранение секрета. При ручной DNS-01 автоматическое продление обычно не работает без хуков; выберите поддерживаемый автоматический способ и испытайте его в тестовой среде.

#Проверка результата

Все авторитетные серверы возвращают нужный TXT, ACME подтверждает права и выпускает сертификат; следующая проба продления проходит без ручного вмешательства, если автоматизация предусмотрена.

#Если решить проблему не удалось

Если TXT виден у всех NS, но проверка отказывает, проверьте точную ошибку ACME, DNSSEC, наличие нескольких значений и соответствие токена именно текущему заказу. Не удаляйте чужие действующие TXT-записи при использовании общего домена.

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

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

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