Por que o redirecionamento de arquivos de hosts falha?

Por que o redirecionamento de arquivos de hosts falha?

Estou tentando redirecionar google.com para minha máquina local para me divertir e aprender com este arquivo /etc/hosts no meu Mac.

127.0.0.1 www.google.com

No entanto, www.google.com ainda mapeia para a página inicial do Google quando eu o visito no Chrome no meu Mac. Por que?

Basicamente, isso é tudo que fiz:

  1. Digite sudo vim /etc/hoststerminal.
  2. Inserido 127.0.0.1 www.google.comno arquivo hosts.
  3. Salvei e fechei o vim.

Responder1

O hostsarquivo não funciona dessa maneira. Você só pode usá-lo para mapear nomes de host para endereços IP, não para localhost.

Para o seu caso, você usaria 127.0.0.1 www.google.com, ou seja, mapeie www.google.com para 127.0.0.1.

Se você quiser mapear mais nomes de host para um único IP, basta adicionar esses nomes de host na mesma linha, por exemplo 127.0.0.1 www.a.com www.b.com, .

Responder2

Um navegador da web não é a melhor maneira de verificar se sua hostssintaxe está correta. Tente executar

ping www.google.com

e verifique se ele faz ping 127.0.0.1.

O motivo pelo qual o Chrome parece ignorar seu hostsarquivo é o cache:

Se o Chrome já consultou o IP recentemente (a definição de ultimamente provavelmente depende dotempo de viver (TTL)retornado pelo servidor DNS), ele irá ignorar o hostsarquivo, pois jásabeo IP correto. Isso é feito para acelerar a navegação na web.

Para fazer o Chrome respeitar a nova entrada, faça o seguinte:

  1. Edite /etc/hostscomo @Renan descreveu.

  2. Vá para chrome://chrome/settings/clearBrowserData.

  3. Escolher since the beginning of time.

  4. Marque Empty the cache, mas desmarque todo o resto.

  5. Clique Clear browsing datae espere terminar.

  6. Reinicie o Chrome.

O Chrome deve respeitar seu hostsarquivo agora.

Responder3

Minha resposta é uma combinação das opções acima porque estou me conectando ao meu escritório via Fortinet SSL VPN para Ubuntu 16.04.

A primeira coisa que tive que fazer foi abrir meu console de terminal e executar o seguinte comando:

sudo nano /etc/resolvconf/resolv.conf.d/base

Adicionei o seguinte exemplo:

searchdomain domain.local
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

Então salvei o arquivo pressionando CTRL-Oe fechei o nano pressionando CTRL-X.

Então fiz o seguinte e funcionou perfeitamente:

Para fazer o Chrome respeitar a nova entrada, faça o seguinte:

Edite /etc/hostscomo @Renan descreveu.

  1. Vá para chrome://chrome/settings/clearBrowserData.
  2. Escolha desde o início dos tempos.
  3. Marque Esvaziar o cache, mas desmarque todo o resto.
  4. Clique em Limpar dados de navegação e aguarde a conclusão.
  5. Reinicie o Chrome.

O Chrome deve respeitar seu arquivo hosts agora.

informação relacionada