DNS_PROBE_FINISHED_NXDOMAIN: причини и поправки
· 1 мин. четене
Какво означава грешката
Преди браузърът да може да се свърже със сайт, той пита Системата за имена на домейни за адреса зад името. NXDOMAIN е DNS отговорът „това име не съществува“. Chrome го показва като DNS_PROBE_FINISHED_NXDOMAIN („Този сайт не може да бъде достигнат“), Firefox като „Хм. Имаме проблем при намирането на този сайт“, Safari като „Safari не може да намери сървъра“. Не е правен опит за връзка; браузърът никога не е получил адрес, към който да се свърже.
В едно отношение това са добри новини: уеб сървърът изобщо не участва. Проблемът е в DNS, или от страна на посетителя (правописна грешка, остарял кеш, грешен резолвър), или от страна на собственика (домейнът или записите му са изчезнали).
Чести причини
От страна на посетителя
- Правописна грешка в адреса или линк към домейн, който вече не съществува.
- DNS кеш на компютъра, в браузъра или в рутера, който още пази стар отговор „не съществува“.
- Резолвър, който не може да достигне интернет, VPN или корпоративна мрежа, която блокира домейна, родителски филтър.
- Антивирусен софтуер или „уеб защита“, който прихваща DNS.
От страна на собственика
- Домейнът е изтекъл. Регистраторът премахва nameserver-ите при изтичане и от този момент името не съществува. Най-честата причина за сайт, който е работил вчера.
- Липсва A или AAAA запис. След преместване при нов хостинг или нов DNS доставчик записът за
wwwили за самия домейн никога не е бил създаден. - Nameserver-ите са сменени, но зоната е празна. Домейнът е насочен към Cloudflare или нов хостинг, но записите не са били копирани там първо.
- Поддомейн, който никога не е бил настроен.
shop.example.comвръща NXDOMAIN, защото няма запис заshop, докатоexample.comработи. - Повреден DNSSEC. Грешен DS запис при регистратора след смяна на доставчик кара валидиращите резолвъри (повечето днес) да върнат неуспех, който браузърите показват като NXDOMAIN или подобна грешка.
- Разпространение. Току-що сте сменили nameserver-ите; някои резолвъри още виждат старата, вече празна зона. Отнема до TTL, в най-лошия случай 24 до 48 часа.
Ако сте посетител
- Проверете изписването на адреса и го опитайте със и без
www. - Изчистете DNS кеша: Windows
ipconfig /flushdns, macOSsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder, Linuxsudo resolvectl flush-caches. В Chrome отворетеchrome://net-internals/#dnsи натиснете „Clear host cache“. - Рестартирайте рутера или опитайте сайта на телефона си с изключен Wi-Fi. Ако там работи, проблемът е в резолвъра на Вашата мрежа.
- Сменете резолвъра с публичен (1.1.1.1 или 9.9.9.9) в мрежовите настройки.
- Ако нищо от това не помогне, домейнът наистина е изчезнал или повреден и само собственикът му може да го поправи.
Ако е Вашият сайт: проверете първо
Пуснете проверката дали сайтът не работи: тя Ви казва дали домейнът се разрешава от неутрална локация. Ако не се разрешава, продължете тук. Ако се разрешава, проблемът е от страна на Вашия посетител; изпратете му списъка по-горе.
После погледнете самия домейн:
# does the name resolve, and who answers?
dig +short example.com A
dig +short www.example.com A
dig example.com NS +short
# ask the authoritative nameserver directly (skips every cache)
dig @ns1.your-dns-provider.com example.com A
# registration status and expiry date
whois example.com | grep -iE 'expir|status'
Празен отговор от dig със status: NXDOMAIN в пълния изход означава, че записът не съществува на авторитетния сървър. whois, показващ състояние като clientHold, redemptionPeriod или pendingDelete, означава, че проблемът е в регистрацията, не в записите.
# DNSSEC: a broken chain shows up as SERVFAIL on validating resolvers
dig @1.1.1.1 example.com A +dnssec | grep -E 'status|flags'
Поправки за собственици на сайтове
1. Изтекъл домейн
Влезте при регистратора си и подновете. Повечето регистратори възстановяват домейн за минути след плащане през гратисния период (обикновено 30 дни); в периода на изкупуване след това струва такса за възстановяване и отнема повече време. Задайте домейна на автоматично подновяване и се уверете, че картата в профила е актуална; домейн, който изтече, сваля наведнъж поща, сайт и всеки поддомейн.
2. Липсващ запис
При своя DNS доставчик добавете записа, който липсва. За сайт това обикновено е:
example.com. A 203.0.113.10
www.example.com. CNAME example.com.
Ползвайте IP адреса на Вашия уеб сървър (hostname -I на сървъра или адресът, който хостингът Ви е дал). Ако сървърът има IPv6, добавете и AAAA запис или премахнете повредения, ако сървърът няма такъв. Промените влизат в сила в рамките на TTL на записа, обикновено от 5 минути до час.
3. Празна зона след смяна на nameserver-ите
Преди да смените nameserver-ите, експортирайте зоната от стария доставчик (dig example.com AXFR @old-ns рядко работи; повечето доставчици имат бутон за експорт) и я импортирайте при новия. Ако вече сте сменили: пресъздайте записите при новия доставчик; A за самия домейн и www, MX и TXT за поща и всички поддомейни, които ползвате. Старият доставчик често още Ви показва списъка.
4. DNSSEC
Ако dig +dnssec върне SERVFAIL, докато обикновената заявка към авторитетния сървър работи, DS записът при регистратора не съвпада с ключовете при DNS доставчика. Или премахнете DNSSEC при регистратора (премахнете DS записа), докато двете страни се настроят заедно, или копирайте новия DS запис от DNS доставчика при регистратора.
5. На Ваш собствен сървър
Нищо в уеб сървъра не причинява NXDOMAIN, така че няма какво да се рестартира. Все пак проверете дали собственият резолвър на сървъра Ви работи, защото сървър, който не може да разрешава имена, се проваля при актуализации, поща и API обаждания:
resolvectl status | head -20
dig +short example.com @127.0.0.53
Когато е проблем на Вашия хостинг
Ако хостингът Ви управлява и Вашия DNS (често при споделен хостинг) и записите изглеждат правилни в техния панел, но пак не се разрешават отвън, изпратете им:
Здравейте, домейнът ми example.com не се разрешава (NXDOMAIN) от около 11:00 UTC. Записите в контролния панел изглеждат правилни и домейнът е регистриран до 2027 г. Моля, проверете DNS зоната на Вашите nameserver-и и дали домейнът още е делегиран към тях.
Как да предотвратите следващата
NXDOMAIN на собствен домейн е почти винаги изтичането, което сте забравили, или записът, който не сте копирали. DNS монитор сравнява Вашите записи със стойностите, които очаквате, и Ви известява в момента, в който един изчезне или се промени; проверка на сайта отвън хваща момента, в който името спре да се разрешава. И двете са част от мониторинга на сайтове, безплатно за първите 50 монитора. А ако записите живеят на Ваш собствен сървър, Deep Fix ги възстановява.
Какво сега
Проверете отвън
Сайтът не работи за всички или само за Вас и какво отговаря сървърът? Безплатно, без регистрация.
Проверка дали сайтът не работиСрив? Намесваме се.
На Ваш собствен сървър или в уеб пространство със SSH достъп: Quick Fix на фиксирана цена за честите причини, Deep Fix, таксуван на блокове от 15 минути, за останалото, денонощно. Цената е известна преди поръчката.
Поръчайте поправкаОще ръководства
- Сайтът Ви не работи. Ето какво да направите през първите 15 минути.
- Сървърът не работи: какво да проверите първо и в какъв ред
- 502 Bad Gateway: причини и как да я поправите
- 503 Service Unavailable: претоварване или поддръжка?
- 504 Gateway Timeout: какво означава и как да я поправите
- ERR_CONNECTION_REFUSED: причини и как да я поправите
- „Връзката Ви не е поверителна“: предупреждението за SSL сертификат