Objetivos de aprendizado
Depois de ler este artigo, você vai conseguir:
- Entender o que o código NXDOMAIN diz e quem o envia
- Descobrir com dig se o problema é seu, do domínio ou do cache
- Corrigir cada causa: digitação, registro ausente, nameservers errados, cache e DNS do provedor
Você digita o endereço, aperta Enter e o Chrome mostra uma página de erro com o código DNS_PROBE_FINISHED_NXDOMAIN. Nenhuma página carregou, e o navegador nem chegou a tentar se conectar a um servidor.
O erro vem de uma etapa anterior: a tradução do nome em IP. Saber disso economiza tempo, porque mexer no código da aplicação ou reiniciar o servidor não resolve. O defeito está no nome, no registro DNS ou no cache. A página fica mais ou menos assim (o texto exato muda com a versão e o idioma do Chrome):
Este site não está acessível
Não foi possível encontrar o endereço IP do servidor de exemplo.com.
DNS_PROBE_FINISHED_NXDOMAINO que é NXDOMAIN?#
NXDOMAIN (non-existent domain) é o código de resposta DNS número 3, "Name Error". Ele significa que o servidor consultou a hierarquia do DNS e concluiu que o nome não existe. Como os nomes formam uma árvore, a RFC 8020 define que, se foo.example não existe, nenhum nome abaixo dele existe também (bar.foo.example, por exemplo).
Não confunda com outras respostas:
- NXDOMAIN: o nome não existe.
- NODATA (resposta
NOERRORsem registros): o nome existe, mas não tem registro do tipo pedido, como um nome comAmas semAAAA. - SERVFAIL: o servidor falhou ao responder. É outra falha de DNS, com outro código de erro no navegador.
Na prática, DNS_PROBE_FINISHED_NXDOMAIN é a forma como o Chrome mostra a resposta "o nome não existe". Outros navegadores exibem mensagens próprias para o mesmo problema.
Quais são as causas mais comuns?#
As causas mais frequentes, na ordem em que vale conferir:
- Erro de digitação ou domínio inexistente.
exmaple.com, um.comonde deveria ser.com.br, ou um domínio que nunca foi registrado. - Domínio expirado. O registro venceu e o domínio pode ter saído da zona do TLD.
- Registro DNS ausente. O domínio existe, mas o subdomínio que você acessa (
app.exemplo.com,www.exemplo.com) não tem registroA,AAAAouCNAME. - DNS editado no provedor errado. Você criou o registro no painel onde comprou o domínio, mas os nameservers apontam para outro provedor. O registro certo está num lugar que ninguém consulta.
- Cache negativo. Alguém consultou o nome antes de o registro existir, e um resolvedor guardou "não existe".
- Cache ou DNS local com defeito. Cache do sistema, arquivo
hosts, DNS do roteador ou do provedor de internet, VPN ou extensão de bloqueio.
Como diagnosticar com dig ou nslookup?#
Antes de mexer em configurações, descubra em que camada o erro acontece. Consulte o nome em dois resolvedores públicos:
dig exemplo.com A @8.8.8.8
dig exemplo.com A @1.1.1.1Na saída, procure o campo status do cabeçalho:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 41207No Windows sem dig:
nslookup exemplo.com 8.8.8.8A resposta Non-existent domain equivale ao NXDOMAIN. Agora interprete:
| Resultado | Conclusão |
|---|---|
| NXDOMAIN nos dois resolvedores | O problema está no domínio: grafia, expiração, registro ausente ou nameservers errados. |
| IP nos dois, erro só no seu computador | Cache ou DNS local. Vá para a seção de limpeza. |
| IP em um e NXDOMAIN no outro | Cache negativo ou propagação em andamento. |
Se deu NXDOMAIN, consulte direto os servidores autoritativos, que têm a resposta de referência:
dig NS exemplo.com +short
dig @ns1.provedor-dns.exemplo exemplo.com A +shortSe o servidor autoritativo devolve o IP e os resolvedores públicos não, o problema é cache. Se ele também diz NXDOMAIN, o registro não existe nessa zona.
Como corrigir cada causa?#
Digitação e domínio inexistente. Confira a grafia e o TLD. Pesquise o domínio no WHOIS ou RDAP do seu registrador para ver se ele está registrado e quando vence.
Domínio expirado. Renove no registrador. Depois de renovado, o domínio volta à zona do TLD, mas pode levar um tempo até os caches esquecerem a resposta negativa.
Registro ausente. No painel do seu provedor de DNS, crie o registro do nome exato que você acessa. Para um IP, é um A (IPv4) ou AAAA (IPv6). Para apontar para outro nome, um CNAME. O guia de registros DNS explica cada tipo.
Provedor de DNS errado. Rode dig NS exemplo.com +short e veja quais nameservers respondem. Edite os registros nesse provedor, ou troque os nameservers no registrador para o provedor onde você criou os registros. Ao trocar, mantenha os mesmos registros nos dois lados durante a transição.
Cache negativo. A RFC 2308 define que o tempo de cache de um "não existe" é o menor valor entre o campo MINIMUM do registro SOA da zona e o TTL do próprio SOA. Na prática, um nome recém-criado pode continuar falhando por minutos ou horas em quem já o consultou. Veja mais em propagação de DNS.
Como limpar o cache e trocar o DNS no seu computador?#
Se os resolvedores públicos devolvem o IP e só a sua máquina falha:
ipconfig /flushdnsNo Windows, segundo a documentação da Microsoft, esse comando descarta também as entradas de cache negativo. No macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponderNo Linux com systemd-resolved:
sudo resolvectl flush-cachesDepois feche e abra o navegador, ou teste em uma janela anônima. Em seguida, elimine suspeitos locais:
- Arquivo
hosts. Uma linha antiga que aponta o domínio para um endereço inválido quebra a resolução. No Windows, fica emC:\Windows\System32\drivers\etc\hosts; no macOS e Linux, em/etc/hosts. - VPN e extensões de bloqueio. Desligue por um minuto e teste de novo.
- Rede diferente. Teste com dados móveis. Se abrir, o DNS do roteador ou do provedor de internet é o culpado.
- Trocar o servidor DNS. Nas configurações da rede, use os resolvedores públicos do Google (
8.8.8.8e8.8.4.4, documentados na página do Google Public DNS) ou da Cloudflare (1.1.1.1e1.0.0.1, na documentação da Cloudflare). Configure pelo menos dois endereços.
Trocar de resolvedor só ajuda quando o DNS do provedor está com defeito. Se o domínio de fato não existe, todos os resolvedores respondem a mesma coisa.
Como evitar o erro em um site seu?#
- Ative a renovação automática do domínio e mantenha o e-mail do registrador atualizado.
- Anote em qual provedor fica a zona DNS e confira com
dig NSantes de criar registros. - Crie o registro antes de divulgar o endereço, para que nenhum resolvedor guarde um "não existe".
- Antes de trocar o IP ou o provedor, baixe o TTL para 300 segundos com antecedência.
- Teste o subdomínio exato (
wwwe o domínio semwwwsão nomes diferentes e precisam de registros próprios).
Para o passo a passo de ligar um domínio a uma aplicação, veja como apontar um domínio para sua aplicação. Para revisar o básico, leia o que é DNS.
Como fazer isso na Square Cloud#
Toda aplicação web na Square Cloud ganha um subdomínio *.squareweb.app com HTTPS, em qualquer plano. Se esse endereço abre e o seu domínio dá NXDOMAIN, o problema está no DNS do domínio, não na aplicação.
O domínio personalizado está disponível a partir do plano Standard. No painel você vê os registros DNS que precisa criar e os cria no seu registrador ou provedor de DNS. O painel mostra o status de validação em tempo real, então você sabe quando os registros foram encontrados. O TLS é emitido automaticamente.
O domínio continua registrado em seu nome no seu registrador. A Square Cloud não é registrador nem provedor de DNS, então um NXDOMAIN costuma indicar que o registro está faltando, foi criado no provedor errado ou que o cache ainda guarda a resposta antiga. Veja o fluxo completo em domínios na Square Cloud.
Rede
Domínio próprio, TLS automático e CDN global para o seu app
Perguntas frequentes
O que significa NXDOMAIN?
É o código de resposta DNS número 3, "Name Error". O servidor DNS informa que o nome consultado não existe. Não quer dizer que o site está fora do ar: o nome nem chegou a ser resolvido para um IP.
DNS_PROBE_FINISHED_NXDOMAIN é problema do meu computador ou do site?
Pode ser dos dois. Se outros domínios abrem e só esse falha em todas as redes, o problema está no domínio. Se funciona no celular com dados móveis e falha no seu computador, o problema é o cache ou o DNS local.
Trocar o DNS para 8.8.8.8 resolve?
Resolve quando o DNS do seu provedor de internet está falhando ou bloqueando o nome. Não resolve se o domínio realmente não tem registro, porque qualquer resolvedor receberá a mesma resposta de que ele não existe.
Por que o erro continua depois que criei o registro DNS?
Resolvedores guardam a resposta "não existe" em cache (cache negativo) por um tempo definido na zona. Limpe o cache local e aguarde, ou teste por outro resolvedor.
Mais em Rede e domínios
Ver todos os 27 artigos- O que é load balancer (balanceamento de carga)Load balancer é o componente que distribui requisições entre vários servidores. Veja como funciona, os algoritmos, as camadas 4 e 7 e um exemplo com nginx.
- Registros DNS: A, CNAME, MX e TXT explicadosRegistros DNS são as instruções de uma zona que dizem para onde um nome aponta. Entenda A, AAAA, CNAME, MX, TXT, NS e CAA com exemplos e comandos dig.
- Como apontar um domínio para sua hospedagemPara apontar um domínio para sua hospedagem, crie um registro CNAME (ou A) no DNS do seu registrador. Veja o passo a passo, como testar e os erros comuns.
- Cabeçalho Cache-Control: quanto tempo o navegador e a CDN guardam um arquivoCache-Control é o cabeçalho HTTP que define quanto tempo navegador e CDN guardam uma resposta. Veja max-age, no-cache, immutable e receitas por tipo de arquivo.