Por que uma consulta mostra a CDN, e não a origem
Visitante
consulta o domínio
Borda da CDN
104.21.x.x
é isto que o DNS retorna
Servidor de origem
IP real, nunca exposto
Como as CDNs usam o DNS para rotear o tráfego
A principal promessa de uma CDN é servir o conteúdo a partir de um servidor fisicamente próximo de cada visitante, em vez de um único servidor de origem atender o mundo inteiro. O mecanismo que torna isso possível, na maioria das implementações, é o DNS: mais especificamente, dar respostas diferentes a visitantes diferentes para exatamente a mesma consulta.
O mesmo domínio, uma resposta diferente, de propósito
Quando um domínio está atrás de uma CDN, os registros DNS dele normalmente apontam (muitas vezes por meio de um CNAME) para a infraestrutura do próprio provedor da CDN, e não para um único IP de origem. Os servidores de nomes da CDN então respondem a cada consulta com base no local de onde ela parece vir, devolvendo o endereço IP do ponto de presença mais próximo, ou menos carregado, para aquele visitante específico. Duas pessoas em lados opostos do mundo que consultam o mesmo domínio podem, corretamente, receber endereços IP totalmente diferentes.
- É por isso que uma mesma consulta de domínio para IP feita duas vezes, de dois locais diferentes, não é um bug quando os resultados diferem: é o sistema funcionando como planejado.
- É também por isso que domínios atrás de CDN tendem a resolver para vários endereços em consultas repetidas: não existe uma resposta “correta”, apenas respostas adequadas no momento.
- É comum haver um TTL curto nesses registros justamente para que a CDN consiga tirar o tráfego de um ponto de presença com problemas com rapidez, sem esperar uma longa janela de cache.
O que isso significa na hora de depurar
Se um site atrás de uma CDN se comporta de modo estranho para alguns visitantes e não para outros, conferir para qual endereço cada ponto de observação resolve o domínio costuma ser a forma mais rápida de confirmar se o problema está em um ponto de presença específico, e não na origem nem na própria aplicação. Uma ferramenta que resolve diretamente e mostra a resposta bruta, sem o cache de DNS do navegador na frente, dá uma leitura mais limpa do que está sendo servido a uma região naquele momento.
O endereço real do servidor de origem é escondido de propósito
Um efeito colateral que vale conhecer: resolver um domínio atrás de uma CDN mostra o endereço da rede de borda, e não o do servidor de origem por trás dela, e isso geralmente é intencional, não um acidente. Manter o IP real da origem fora do DNS público é uma das defesas mais simples e eficazes de um site contra um ataque direto de negação de serviço dirigido à infraestrutura de fato, e não à capacidade muito maior da CDN que está na frente. Significa também que uma consulta de domínio, sozinha, não consegue dizer onde um site está “realmente” hospedado, apenas onde o tráfego dele entra na rede da CDN neste momento, o que é uma pergunta bem diferente.
| Sinal | Atrás de uma CDN | Direto na origem |
|---|---|---|
| Consultas repetidas de um mesmo local | Normalmente estável | Normalmente estável |
| Consultas de regiões diferentes | Muitas vezes endereços diferentes | Normalmente o mesmo endereço em todo lugar |
| TTL | Geralmente curto (60-300 s) | Muitas vezes mais longo, de horas ou mais |
| Propriedade do endereço resolvido | Pertence ao provedor da CDN | Pertence ao provedor de hospedagem do próprio site |
Consultando o WHOIS ou o ASN de um endereço resolvido
Uma forma rápida e prática de confirmar se um domínio está atrás de uma CDN é verificar quem de fato é o dono do endereço IP resolvido, separadamente da consulta do domínio em si. Um endereço resolvido registrado no número de sistema autônomo (ASN) de uma CDN ou de um provedor de nuvem conhecido é um forte sinal de que você está olhando para uma rede de borda, e não para um servidor de origem, e explica de imediato por que o mesmo domínio pode mostrar um endereço diferente em outra região sem que haja algo errado. É um segundo passo útil depois de uma consulta, e não um substituto dela: a resposta DNS informa o endereço atual, e a consulta de propriedade informa a que tipo de infraestrutura esse endereço realmente pertence.
Precisa conferir os endereços DNS públicos de um domínio? Use a ferramenta Domain IP Lookup.
Leitura relacionada
Um hostname, vários registros A
1ª resposta
93.184.216.34
2ª resposta
93.184.216.35
3ª resposta
93.184.216.36
O resolvedor devolve todos os registros, geralmente em ordem rotativa
DNS round-robin explicado: dividindo o tráfego entre IPs
Veja como o DNS round-robin retorna vários endereços, o que ele pode e não pode fazer pela distribuição de carga e como o cache afeta os resultados observados.
Um hostname, vários registros A
1ª resposta
93.184.216.34
2ª resposta
93.184.216.35
3ª resposta
93.184.216.36
O resolvedor devolve todos os registros, geralmente em ordem rotativa
Balanceamento de carga por DNS: métodos e limitações
Compare a distribuição de tráfego por DNS com balanceadores de carga de aplicação e veja como TTLs, health checks e respostas regionais afetam a disponibilidade.
Por que uma consulta mostra a CDN, e não a origem
Visitante
consulta o domínio
Borda da CDN
104.21.x.x
é isto que o DNS retorna
Servidor de origem
IP real, nunca exposto
O que é um servidor de origem? Diferença para uma CDN
Veja o que faz um servidor de origem atrás de uma CDN ou proxy reverso, por que o DNS público mostra um endereço de borda e como diagnosticar com segurança.