DNS_PROBE_FINISHED_NXDOMAIN: o que significa e como corrigir
DNS_PROBE_FINISHED_NXDOMAIN significa que a consulta pelo nome de host que você digitou voltou como "nome inexistente". O navegador nunca recebeu um endereço IP, então nunca abriu uma conexão. O problema está na resolução de nomes, não no servidor web do site.
O que o erro significa
NXDOMAIN é um código de resposta do DNS, abreviação de domínio não existente. Um resolvedor devolve esse código depois de percorrer a cadeia da raiz até a zona que deveria conter o seu nome de host e não encontrar nada lá. O Chrome mostra DNS_PROBE_FINISHED_NXDOMAIN. O Firefox diz que não consegue conectar ao servidor. O Safari diz que não consegue encontrar o servidor. Os três estão relatando a mesma resposta.
NXDOMAIN não é a mesma coisa que uma falha do resolvedor, e a diferença decide onde você vai procurar. Se o seu resolvedor está inacessível ou estoura o tempo, você recebe uma mensagem de "servidor DNS não está respondendo". Se a zona responde mas está quebrada, por exemplo uma cadeia DNSSEC que não valida, você normalmente recebe SERVFAIL. NXDOMAIN é uma resposta definitiva: o nome não está publicado.
Uma característica do NXDOMAIN importa mais que qualquer outra durante o diagnóstico. Respostas negativas são cacheadas. Pela RFC 2308, o resolvedor guarda o resultado "nome inexistente" pelo intervalo definido no registro SOA da zona, normalmente entre 5 e 60 minutos. Um domínio que voltou a funcionar há dois minutos ainda pode falhar na sua máquina, e nenhuma quantidade de recarregamentos vai mudar isso até a entrada do cache expirar ou você limpá-la.
Por que acontece
- Um erro de digitação no nome de host. A causa mais comum de longe, e a última que todo mundo verifica.
- O domínio não está registrado, ou expirou. Um domínio expirado costuma sair da zona poucas horas depois do fim do período de carência.
- Sem delegação de servidores de nomes. O domínio existe no registrador mas não tem registros NS apontando para um provedor de DNS, então a zona pai não tem para onde encaminhar o resolvedor.
- O registro foi apagado ou renomeado. A ausência de um A ou CNAME para
wwwgera NXDOMAIN emwww.example.comenquanto o domínio sem prefixo continua funcionando. - Uma alteração ainda não chegou ao seu resolvedor. Registros novos podem levar até o TTL do registro anterior para aparecer em todo lugar.
- Uma resposta negativa em cache no seu dispositivo, no seu navegador ou no resolvedor do seu provedor de internet.
- Uma entrada no arquivo hosts apontando o nome para algo que não existe mais, ou uma linha esquecida de um teste antigo.
- VPN, proxy ou software de filtragem respondendo ao DNS por conta própria e bloqueando ou falhando em resolver o nome.
- Um nome de host que só existe em uma rede privada à qual você não está conectado no momento, como um domínio interno
.localou da empresa.
Como corrigir
Redigite o endereço primeiro, depois vá do navegador para fora, em direção à rede. Teste depois de cada passo em vez de executar todos de uma vez.
Navegador
- Abra a mesma URL em uma janela anônima. Se carregar, o envolvido é uma extensão ou um cookie, não o DNS.
- Limpe o cache de resolução do próprio Chrome em
chrome://net-internals/#dnse depois esvazie os pools de sockets emchrome://net-internals/#sockets. O Chrome mantém um cache separado do sistema operacional, então limpar só o do sistema muitas vezes não muda nada.
Windows
- Limpe o cache do resolvedor:
ipconfig /flushdns - Renove a concessão de rede, o que também pega os servidores DNS entregues pelo DHCP:
ipconfig /release ipconfig /renew - Reinicie o serviço de cache se a limpeza não se mantiver:
net stop dnscache net start dnscache - Procure em
C:\Windows\System32\drivers\etc\hostsuma linha com o domínio e apague-a se estiver desatualizada. - Configure um resolvedor público:
netsh interface ipv4 set dnsservers name="Wi-Fi" static 1.1.1.1 primary - Como último recurso, reinicie a pilha de rede e depois o computador:
netsh winsock reset
macOS
- Limpe o cache:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder - Veja quais servidores estão em uso:
scutil --dns | grep nameserver - Aponte a interface para um resolvedor público:
sudo networksetup -setdnsservers Wi-Fi 1.1.1.1 1.0.0.1 - Inspecione
/etc/hostse remova qualquer linha referente ao domínio.
Linux
- Com systemd-resolved:
sudo resolvectl flush-caches, depois confirme os servidores em uso comresolvectl status. - Com dnsmasq:
sudo systemctl restart dnsmasq. Com nscd:sudo systemctl restart nscd. - Leia
/etc/resolv.confpara ver qual resolvedor você está consultando, e/etc/hostspara achar uma sobrescrita antiga. - Com o NetworkManager, mude o resolvedor na própria conexão:
nmcli con mod "Wired connection 1" ipv4.dns "1.1.1.1 1.0.0.1" nmcli con up "Wired connection 1"
Roteador
- Desligue e ligue o roteador. A maioria dos roteadores domésticos roda um pequeno resolvedor encaminhador com cache próprio, e reiniciar limpa esse cache.
- Na página de administração do roteador, olhe os servidores DNS da WAN ou do DHCP. Se apontam para um servidor interno antigo ou para um serviço de filtragem, troque-os.
- Teste com um celular na rede móvel em vez do Wi-Fi. Se o nome resolver ali, a falha está dentro da sua rede.
Se o domínio é seu
NXDOMAIN no seu próprio site é um problema de publicação, e ele só pode vir de alguns lugares. Verifique primeiro o status do registro e a data de expiração. Depois confirme a delegação, que é o passo que as pessoas pulam:
dig NS example.com +short
dig example.com +trace
Uma resposta NS vazia significa que a zona pai não tem delegação, então nenhum resolvedor consegue chegar ao seu provedor de DNS, não importa quantos registros você tenha criado lá. A saída de +trace mostra a cadeia de encaminhamentos e o passo exato onde ela para. Se a delegação está correta, consulte diretamente o servidor de nomes do seu provedor para confirmar que o registro existe na zona que você está editando:
dig @ns1.example-dns.net www.example.com A
Quando você adiciona um registro que faltava, a resposta negativa antiga continua em cache em outros lugares pelo tempo que o mínimo do SOA permitir, então espere esse prazo antes de concluir que a correção não funcionou.
Verifique de fora
Todas as correções acima mexem na sua própria máquina. Nenhuma delas diz se o nome resolve para outra pessoa, e é isso que você quer saber primeiro. Rode a consulta contra dois resolvedores públicos e compare:
dig example.com +short
dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short
nslookup example.com 8.8.8.8
Se o seu resolvedor padrão não devolve nada e o 1.1.1.1 devolve um endereço, o registro existe e o seu resolvedor está segurando uma resposta negativa antiga ou filtrando o nome. Se nenhum resolvedor devolve nada, o registro realmente não existe.
Dois resolvedores ainda cobrem um único ponto de vista, e as respostas de DNS variam por região com mais frequência do que se imagina. Rode a verificação de consulta DNS para resolver o nome a partir de pontos de verificação em vários países ao mesmo tempo e leia o que cada um devolveu. Um resultado dividido, com algumas localizações respondendo e outras não, aponta para uma alteração ainda se espalhando ou para o servidor de nomes de um provedor inacessível a partir de uma parte da internet. Essa leitura ao longo do tempo é a propagação de DNS, que tem seu próprio guia em como verificar a propagação de DNS.
Detectar um nome que para de resolver
Um registro que desaparece não deixa rastro do seu lado. Nada registra o ocorrido, porque nenhuma requisição chega, e o único sinal é um gráfico de tráfego que despenca. A solução, em todos os casos, é uma consulta que roda em intervalos regulares a partir de algum lugar que não seja o seu escritório. A HostTracker monitora sites desde 2004 e hoje faz verificações a partir de mais de 300 pontos de verificação em 158 cidades, alertando por e-mail, SMS, chamada de voz, Slack, Telegram e outros canais quando um nome para de resolver ou passa a responder com o endereço errado. Os outros guias desta seção estão no grupo de correções, e os dois mais próximos deste são servidor DNS não está respondendo, para quando o resolvedor simplesmente não responde, e como corrigir uma consulta DNS lenta, para quando ele responde mas demora demais.