Por que o Chrome está ignorando / etc / hosts no OS X?

18

Estou usando o OS X 10.8.5 e o Chrome 30.

Eu adicionei 127.0.0.1 youtube.com ao meu arquivo /etc/hosts de tal forma que agora ele contém isto:

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

127.0.0.1       youtube.com

Quando executo o comando traceroute youtube.com , recebo os resultados esperados (youtube.com é resolvido para 127.0.0.1):

traceroute to youtube.com (127.0.0.1), 64 hops max, 52 byte packets
1  localhost (127.0.0.1)  0.272 ms  0.118 ms  0.063 ms

No entanto, quando digito youtube.com no Chrome, meu navegador não estabelece uma conexão com 127.0.0.1, mas sim com o endereço IP "normal" do YouTube. Eu esperava que o Google Chrome resolvesse youtube.com para 127.0.0.1.

Eu tenho o Chrome configurado para usar as configurações de proxy do meu sistema. No OS X, quando vou para as Preferências do Sistema > Rede > "Avançado ..." > Proxies, selecionei "Auto Proxy Discovery".

Por que o Chrome aparentemente está ignorando meu arquivo /etc/hosts ?

    
por Jonathan 20.09.2013 / 19:09

4 respostas

6

Tente adicionar www.youtube.com ao seu arquivo de hosts. youtube.com é redirecionado permanentemente para www.youtube.com , portanto, desde que você tenha visitado youtube.com uma vez, seu navegador armazenará essa resposta em cache e redirecionará você para www.youtube.com . Este endereço não está no arquivo de hosts, então o Chrome o resolve corretamente.

    
por 21.09.2013 / 13:48
7

O Google Chrome ignora seu arquivo de hosts e faz pesquisas de DNS reais (apesar do que outras pessoas possam pensar, /etc/hosts não faz parte do DNS, é o que foi usado anterior ao DNS). Embora o Google Chrome deva estar honrando as entradas do arquivo hosts, isso não acontece. O arquivo hosts, sendo uma alternativa ao DNS, será lido quando nenhum servidor DNS estiver disponível (como se você desativasse sua conexão de rede).

Você pode testar isso adicionando "127.0.0.1 foobar.dev" ao seu arquivo de hosts, depois habilitando o wireshark e assistindo na sua interface de rede. Abra o Chrome e coloque o link na sua barra de endereço e vá Você já viu uma consulta DNS no Wireshark, algo como:

2   1.668727000 192.168.32.104  8.8.8.8 DNS 75  Standard query 0x663a  A foobar.dev

FWIW, o DNS do Google retorna 127.0.53.53 para foobar.dev.

3   1.706484000 8.8.8.8 192.168.32.104  DNS 91  Standard query response 0x663a  A 127.0.53.53

Uma solução alternativa seria usar HostAdmin , que é uma extensão antiga do Chrome que faz o Chrome usar os hosts . No entanto, as versões mais recentes do Chrome (> 38, com aprovação) não são mais compatíveis.

    
por 09.03.2015 / 04:50
1

Localhost é uma convenção para 127.0.0.1 endereço que é um endereço interno para tcp / ip, no entanto, o Chrome não está usando o / etc / hosts para resolver o endereço, ele está usando um servidor DNS, portanto, qualquer endereço não vem do seu / etc / hosts, mas a partir de um servidor DNS, se ele estivesse usando o / etc / hosts, ele teria que conter todos os nomes de hosts www para resolver qualquer endereço.

Espero que isso ajude.

    
por 20.09.2013 / 20:41
0

Eu consertei esse problema por: Desligue "Proteja você e seu dispositivo contra sites perigosos" nas Preferências avançadas do Chrome.

A "proteção" incorporada do Chrome inclui a verificação direta de um domínio contra seu próprio DNS e a exclusão de certos tipos de entradas de host que considera "suspeitas" ou entradas de sites que estão sendo substituídos, o que significa que a maioria das entradas de host personalizadas é ignorada. Especialmente entradas * .dev e * .local usadas para desenvolvimento.

Desligar isso resolveu o problema 100% do tempo para mim. Isso estava me enlouquecendo por meses ao fazer desenvolvimento local e eu não conseguia encontrar a resposta listada em qualquer lugar, todo mundo apenas dizia que não poderia estar acontecendo. Acontece que foi uma simples alternância nas configurações avançadas. Espero que isso ajude você também, vivas.

    
por 01.03.2018 / 03:57