ERR_NAME_NOT_RESOLVED: cosa significa e come risolverlo
ERR_NAME_NOT_RESOLVED significa che il browser ha chiesto a un resolver DNS l'indirizzo IP del sito e non ha ricevuto indietro alcuna risposta utilizzabile. Questo può significare che il resolver non ha restituito nulla, è andato in timeout, o ha restituito una risposta che il browser ha rifiutato, il che è una condizione più ampia di "questo dominio non esiste."
Cosa significa ERR_NAME_NOT_RESOLVED
Prima che un browser possa connettersi a qualunque cosa, trasforma un hostname in un indirizzo IP tramite il DNS. ERR_NAME_NOT_RESOLVED è la categoria residua di Chrome per quella ricerca che fallisce in qualche modo diverso da un nome confermato come inesistente: il resolver non ha risposto in tempo, ha restituito una risposta vuota o malformata, oppure lo stesso stack di rete del browser non è riuscito a raggiungere affatto un resolver.
Questo è facile da confondere con DNS_PROBE_FINISHED_NXDOMAIN, che è un caso più ristretto e specifico. NXDOMAIN significa che un resolver ha risposto chiaramente: questo nome non esiste nella zona. ERR_NAME_NOT_RESOLVED significa che la ricerca stessa è fallita o è tornata senza nulla di utilizzabile, il che include un resolver rotto, un timeout, una rete senza alcun accesso DNS affatto, o un override DNS locale andato storto. Se sai già che il dominio funzionava e nulla riguardo al dominio stesso è cambiato, ERR_NAME_NOT_RESOLVED indica più il percorso di risoluzione che i record del dominio stesso.
Come appare l'errore
Chrome ed Edge mostrano "This site can't be reached - example.com's server IP address could not be found. Try running Windows Network Diagnostics." con il codice ERR_NAME_NOT_RESOLVED. Firefox mostra "Hmm. We're having trouble finding that site" con il messaggio "we can't connect to the server at example.com."
dig mostra cosa restituisce un resolver specifico, e +trace percorre l'intera catena dalla radice in giù:
dig example.com A
;; ANSWER SECTION:
example.com. 300 IN A 203.0.113.10
dig +trace example.com
; <<>> DiG 9.18 <<>> +trace example.com
. 518400 IN NS a.root-servers.net.
...
com. 172800 IN NS a.gtld-servers.net.
...
example.com. 300 IN A 203.0.113.10
nslookup è un controllo di verifica più veloce quando ti serve solo una risposta sì o no:
nslookup example.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Name: example.com
Address: 203.0.113.10
Se uno dei due comandi va in timeout, restituisce SERVFAIL, o non restituisce nulla sotto ANSWER SECTION, la ricerca è davvero fallita, distinto da una risposta NXDOMAIN che direbbe chiaramente "no such name."
Cosa causa ERR_NAME_NOT_RESOLVED
- Un record A o AAAA mancante. Il dominio si risolve per altri tipi di record, o la zona esiste, ma nessun record di indirizzo è pubblicato per l'hostname richiesto (incluso un record mancante per un sottodominio specifico anche se il dominio radice funziona).
- Una registrazione del dominio scaduta. Una volta che un dominio scade, i suoi nameserver tipicamente smettono di rispondere del tutto per esso, il che produce esattamente questo fallimento invece di un pulito NXDOMAIN.
- Un'interruzione o una configurazione errata del nameserver. Se i nameserver autoritativi del dominio sono irraggiungibili o restituiscono risposte malformate, ogni resolver che tenta di rispondere per quel dominio fallisce allo stesso modo.
- Un fallimento di convalida DNSSEC. Un resolver che convalida e non riesce a verificare una firma DNSSEC (una firma scaduta, una catena di fiducia rotta) rifiuta di restituire una risposta affatto, invece di restituirne una di cui non può fidarsi.
- Il resolver stesso del visitatore è giù o irraggiungibile, comunemente su una VPN rotta, un captive portal Wi-Fi, o un router mal configurato che punta a un server DNS che non esiste più.
- Una cache DNS locale corrotta sulla macchina del visitatore, che trattiene una voce obsoleta o rotta da prima che un dominio fosse configurato correttamente.
Come capire di chi è la colpa
Interroga un resolver pubblico direttamente, come dig example.com @8.8.8.8, bypassando qualunque cosa la rete locale sia configurata a usare. Se anche questo fallisce, il problema è nella configurazione DNS del dominio stesso, non nella rete del visitatore. Una ricerca DNS eseguita da più postazioni rende questo immediato: un fallimento coerente ovunque indica i nameserver o la registrazione del dominio, mentre un fallimento solo da una postazione o un resolver indica qualcosa di locale a quel punto di osservazione.
Come correggere ERR_NAME_NOT_RESOLVED
Se sei un visitatore
- Svuota la cache DNS locale. Su Windows:
ipconfig /flushdns. Su macOS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder. Su Linux con systemd-resolved:sudo resolvectl flush-caches. - Passa a un resolver DNS pubblico come 8.8.8.8 o 1.1.1.1 nelle impostazioni di rete, sostituendo temporaneamente qualunque cosa il tuo ISP o router fornisca per impostazione predefinita.
- Controlla il file hosts (
/etc/hostssu macOS/Linux,C:\Windows\System32\drivers\etc\hostssu Windows) per una voce manuale obsoleta che sovrascrive il dominio. - Disconnettiti da una VPN e riprova; alcuni client VPN instradano il DNS attraverso un resolver che è esso stesso irraggiungibile o mal configurato.
- Riavvia il router se ogni sito sulla rete non riesce a risolversi, non solo uno.
Se gestisci il sito
- Conferma che il record A/AAAA esista per l'esatto hostname che i visitatori stanno usando, incluso qualunque sottodominio:
dig www.example.com Aedig example.com Asono due ricerche separate. - Controlla lo stato di registrazione e scadenza del dominio tramite il tuo registrar; un dominio scaduto inaspettatamente è una causa comune e facile da trascurare.
- Verifica che i nameserver elencati presso il registrar corrispondano a quelli che servono effettivamente la zona, e che rispondano:
dig NS example.comseguito dall'interrogazione diretta di ciascun nameserver restituito. - Se usi DNSSEC, convalida la catena con
dig +dnssec example.come controlla un record RRSIG scaduto, una causa frequente e autoinflitta di fallimenti di risoluzione. - Esegui
dig +traceper vedere esattamente dove nella catena dalla radice al server autoritativo si interrompe la risoluzione, invece di indovinare.
Errori correlati
- DNS_PROBE_FINISHED_NXDOMAIN è l'errore fratello per una risposta confermata "questo nome non esiste," piuttosto che una ricerca fallita o vuota.
- La propagazione DNS spiega perché un record appena modificato può risolversi correttamente da alcuni resolver e non da altri per un periodo di tempo.
Come prevenire ERR_NAME_NOT_RESOLVED
I fallimenti DNS sono facili da perdere internamente, dato che una rete d'ufficio stabile e i suoi record in cache possono continuare a funzionare molto dopo che i visitatori altrove iniziano a fallire. Un controllo DNS eseguito da oltre 300 punti di controllo in 158 città coglie un'interruzione del nameserver, una registrazione in scadenza, o un record rotto nel momento in cui inizia a colpire la risoluzione, invece che dopo che una casella di supporto si riempie. HostTracker monitora siti web dal 2004 e avvisa via email, SMS, chiamata vocale, Slack, Telegram e altro.
Domande frequenti
Qual è la differenza tra ERR_NAME_NOT_RESOLVED e DNS_PROBE_FINISHED_NXDOMAIN?
NXDOMAIN è una risposta definitiva: il resolver ha controllato e il nome non esiste nella zona. ERR_NAME_NOT_RESOLVED è più ampio e copre una ricerca fallita, andata in timeout, o tornata senza nulla di utilizzabile, il che include casi in cui il dominio esiste davvero ma i suoi nameserver sono irraggiungibili.
Un dominio scaduto può causare questo errore?
Sì, ed è una delle cause più comuni. Una volta che un dominio scade, i suoi nameserver tipicamente si spengono, quindi ogni ricerca per esso fallisce invece di restituire una pulita risposta "non esiste."
Perché il sito funziona sui dati mobili del mio telefono ma non sul mio Wi-Fi di casa?
Questo indica il resolver che la tua rete di casa usa, sia il server DNS configurato del tuo router sia il resolver del tuo ISP. Passare a un resolver pubblico come 1.1.1.1 sulla rete interessata di solito lo conferma e lo risolve.
Ho appena aggiunto un nuovo sottodominio e non si risolve. Perché?
Un nuovo record deve propagarsi attraverso le cache DNS dopo essere stato creato, e deve anche esistere effettivamente: conferma con dig subdomain.example.com A direttamente contro il nameserver autoritativo prima di assumere che sia solo un ritardo di propagazione.
Il DNSSEC causa mai questo errore su un dominio che altrimenti sta bene?
Sì. Se le firme DNSSEC scadono o la catena di fiducia si rompe, un resolver che convalida si rifiuta di rispondere invece di restituire dati di cui non può verificarsi, il che appare identico a un fallimento di risoluzione dal lato del visitatore.