Na verdade, o Chrome estava usando seu próprio cliente DNS que fala com vários servidores DNS (o DNS local, o roteador DNS, o roteador DNS no IPv6). Eu vou para chrome: // flags e desabilito "Built-in Asynchronous DNS". Agora funciona.
Estou executando o Chrome no Linux. Eu tenho o DNS local para resolver * .myname.com em 127.0.0.2 (eu digito "host whatever.myname.com" ou "host myname.com" e vejo o endereço correto). No entanto, no Chrome, quando digito "myname.com", ele é redirecionado para "www.myname.com" e resolve o site "real" que não quero.
Apenas quando eu digito "test.myname.com", não "www.myname.com", o Chrome resolve corretamente em 127.0.0.2. Eu acho que o Chrome está tentando fazer algo interessante com www.anything.com e anything.com.
Como consertar isso?
PS: o DNS local que estou usando é o dnsmasq. Se eu colocar explicitamente myname.com no / etc / hosts Chrome, ele será resolvido corretamente em 127.0.0.2, mas não posso usar curinga em / etc / hosts.
PPS: Posso confirmar em chrome: // net-internals / # dns que o Chrome corretamente myname.com e www.myname.com no IP público real.
Você pode alterar suas configurações de proxy e forçá-lo a usar o endereço desejado.
Abra um novo arquivo, com extensão .pac, esses arquivos são usados pelo sistema para determinar proxies, copie isso para o conteúdo do arquivo:
function FindProxyForURL(url, host) {
if (host=='www.myname.com' || host=='myname.com'){
return 'PROXY 127.0.0.2';
}
// All other domains should connect directly without a proxy
return "DIRECT";
}
acesse as configurações de proxy do Google Chrome e, em "url para configuração automática de proxy", insira o caminho para esse arquivo.
não há necessidade de ter servidor DNS, você pode redirecioná-lo para portas diferentes na máquina e pode programá-lo para as suas necessidades.
Tags dns google-chrome linux