DNS-запрос заканчивается на отсутствующей ветви доменного дерева
Сети

DNS_PROBE_FINISHED_NXDOMAIN: что проверить на компьютере и у домена

Объясняем ошибку DNS_PROBE_FINISHED_NXDOMAIN и отделяем опечатку, локальный кеш и настройки DNS от проблем домена, делегирования и записей A или AAAA.

Содержание

DNS_PROBE_FINISHED_NXDOMAIN означает, что браузер не смог получить адрес сервера для введённого имени: DNS вернул ответ NXDOMAIN — такого доменного имени не существует.

Ошибка появляется до открытия сайта и до проверки HTTPS. Поэтому перезапуск Nginx или очистка файлов сайта обычно не помогают. Сначала выясните, ошибается один компьютер или имя действительно отсутствует в публичной DNS.

Что происходит до открытия страницы

Когда вы вводите www.example.com, браузеру нужен IP-адрес сервера. Он обращается к DNS-резолверу — службе, которая находит ответ по цепочке DNS-серверов и на некоторое время сохраняет его в кеше.

Возможны разные результаты:

  • DNS возвращает запись A или AAAA, и браузер соединяется с сервером;
  • DNS возвращает NXDOMAIN, потому что имя не существует;
  • DNS отвечает SERVFAIL из-за сбоя проверки или сервера;
  • ответ не приходит, и запрос завершается таймаутом.

Chrome показывает DNS_PROBE_FINISHED_NXDOMAIN именно для случая с отсутствующим именем. Это не то же самое, что HTTP 404: при 404 браузер уже нашёл сервер и получил от него ответ.

Сначала исключите ошибку в адресе

Скопируйте домен без пути и параметров. Для адреса https://shop.example.com/catalog/?page=2 DNS проверяет только shop.example.com.

Сверьте:

  • порядок букв и дефисы;
  • поддомен www или другой префикс;
  • доменную зону;
  • отсутствие пробелов и случайной точки в середине;
  • адрес из официального источника, если вы посетитель.

Откройте основной домен без поддомена. Если example.com работает, а shop.example.com нет, проблема относится к записи или делегированию конкретного поддомена, а не ко всему сайту.

Проверьте ответ системного DNS

В Windows откройте PowerShell обычным пользователем и запросите отдельно IPv4- и IPv6-адрес. Эти команды только читают ответ настроенного в системе DNS-сервера:

Resolve-DnsName shop.example.com -Type A
Resolve-DnsName shop.example.com -Type AAAA

Замените имя своим. Успешный вывод содержит IPAddress. Сообщение о несуществующем имени подтверждает NXDOMAIN у DNS, которым пользуется система.

В Linux или macOS при установленном dig используйте:

dig shop.example.com A
dig shop.example.com AAAA

Смотрите поле status в верхней части ответа. NXDOMAIN — отсутствие имени, NOERROR с адресом — успешное разрешение, а SERVFAIL требует отдельной проверки DNSSEC и авторитетных серверов.

Сравните несколько независимых резолверов

Один роутер или провайдер может хранить устаревший отрицательный ответ. Сравните системный результат с публичными резолверами. На Linux или macOS:

dig shop.example.com A @1.1.1.1
dig shop.example.com A @8.8.8.8

В Windows те же два независимых источника можно опросить из PowerShell. Команды не меняют сетевые настройки компьютера, а только указывают сервер для конкретного запроса:

Resolve-DnsName shop.example.com -Type A -Server 1.1.1.1
Resolve-DnsName shop.example.com -Type A -Server 8.8.8.8

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

Смена DNS-сервера сама по себе не исправляет отсутствующую запись. Она лишь позволяет сравнить независимый источник ответа.

Очистите локальный кеш только при расхождении ответов

В Windows запустите командную строку или PowerShell от имени администратора:

ipconfig /flushdns

Ожидается сообщение об успешной очистке кеша DNS-сопоставителя. Затем полностью закройте и откройте браузер и повторите Resolve-DnsName.

В Linux с systemd-resolved выполните:

sudo resolvectl flush-caches
resolvectl query shop.example.com

Если resolvectl отсутствует, система использует другой резолвер. Не устанавливайте новую службу ради очистки: перезапустите приложение, которое кеширует ответы, или следуйте документации используемого DNS-клиента.

В macOS очистка системного кеша зависит от версии системы. Сначала достаточно сравнить ответ dig и перезапустить браузер. Не применяйте случайную команду из старой инструкции без проверки версии.

Если вы владелец домена, проверьте регистрацию и делегирование

При NXDOMAIN на всех устройствах убедитесь, что домен зарегистрирован, оплачен и не находится в состоянии, запрещающем публикацию DNS. Данные статуса смотрите в панели регистратора и через RDAP-сервис соответствующей зоны.

Затем проверьте NS — серверы, которым родительская зона делегировала домен:

dig example.com NS
dig +trace shop.example.com A

dig +trace проходит цепочку от корневых серверов к зоне домена. Найдите этап, после которого исчезает ответ. Если у регистратора указаны старые NS, редактирование зоны у нового DNS-провайдера ничего не изменит: запросы до неё не доходят.

Не меняйте NS для эксперимента. Такая правка затрагивает все записи домена, включая почту. Сначала сравните значения у регистратора и в панели действующего DNS-провайдера. Подробная модель разобрана в статье о делегировании домена.

Проверьте записи нужного имени

Для сайта обычно нужна запись A с IPv4-адресом, AAAA с IPv6-адресом или CNAME на другое доменное имя. Отсутствие записи у www не компенсируется записью у корня домена: это два разных имени.

Спросите авторитетный сервер напрямую. Подставьте NS из предыдущей проверки:

dig shop.example.com A @ns1.example.net

Если авторитетный сервер отвечает NXDOMAIN, добавьте или исправьте запись в панели, которая управляет этой зоной. Если он уже возвращает адрес, а публичные резолверы ещё видят старый ответ, дождитесь истечения TTL отрицательного кеша. TTL — срок хранения DNS-ответа; подробнее он разобран в материале о кеше DNS.

Не перепутайте NXDOMAIN с DNSSEC и сетевым сбоем

При ошибке DNSSEC резолвер чаще возвращает SERVFAIL, а не NXDOMAIN. Если dig показывает SERVFAIL, сравните ответ с отключённой проверкой только для диагностики и проверьте цепочку DS/DNSKEY. Не отключайте DNSSEC как постоянное лечение: исправьте несоответствие ключей у регистратора и DNS-провайдера.

Если запрос завершается таймаутом, проверьте доступность DNS-сервера по UDP и TCP, настройки сети и firewall. Это другая проблема: имя может существовать, но ответ до клиента не дошёл.

Как понять, что проблема решена

Успех подтверждают три проверки:

  1. авторитетный сервер возвращает ожидаемую A, AAAA или CNAME;
  2. два независимых публичных резолвера возвращают согласованный ответ;
  3. браузер открывает сайт после обновления локального кеша.

После появления IP-адреса могут проявиться уже HTTP- или TLS-ошибки. Это означает, что DNS-этап пройден. Проверьте домен по чек-листу после запуска и при необходимости разберите записи A, AAAA и CNAME в отдельном руководстве.

Источники

Рекламное местоВаша компания здесьРазместить рекламу

Самопроверка

Проверьте, что материал усвоен

Ответьте на все вопросы. Результат сохранится только в этом браузере и будет учтён в статистике прочитанных материалов.

01Что означает ответ NXDOMAIN?
02Как отделить локальную проблему от проблемы домена?
03Когда очистка кеша на компьютере уместна?

Разбираем коротко

Частые вопросы

Что означает DNS_PROBE_FINISHED_NXDOMAIN?

Браузер не получил IP-адрес для имени, потому что DNS-ответ сообщил об отсутствии такого доменного имени. Причиной может быть опечатка, устаревший локальный кеш или ошибка в регистрации и DNS-настройках домена.

Всегда ли помогает очистка DNS-кеша?

Нет. Очистка помогает только при устаревшем или ошибочном локальном ответе. Она не создаёт отсутствующую DNS-запись, не продлевает домен и не исправляет делегирование.

Чем NXDOMAIN отличается от таймаута DNS?

NXDOMAIN — полученный ответ о том, что имени не существует. Таймаут означает, что ответ не пришёл вовремя. Эти симптомы требуют разных проверок.