VirtualHost baseado em IP do Apache: Não é possível acessar o TLD de hostlocal por Nome_do_Servidor, pode acessar por IP

1

Bom dia.

Tentando fazer isso funcionar, mas tenho certeza de que estou sentindo falta de algo.

Meu arquivo de configuração do host virtual:

<VirtualHost 127.0.0.11:80>
    ServerName test.localhost
    #...
</VirtualHost>

Meu arquivo / etc / hosts:

...
127.0.0.11 test.localhost
...

Quando eu vou para o link ele funciona, mas quando eu vou para link isso não acontece - ele volta para um site padrão que eu configurei em <VirtualHost _default_:*>...</VirtualHost> . Eu tenho pesquisado sobre isso há algumas horas e estou meio perdido, espero que alguém possa me dar uma indicação sobre o que ver.

Obrigado.

    
por Teeeeeeeeeeeeeeeeeeeeeeeeeeeej 19.12.2015 / 15:25

1 resposta

1

Parece que todos os domínios com o TLD do mapa .localhost são 127.0.0.1. Quando mudei meu host virtual ServerName para "test.local" e atualizei meu / etc / hosts de acordo, tudo funcionou bem.

De RFC2606:

The ".localhost" TLD has traditionally been statically defined in host DNS implementations as having an A record pointing to the loop back IP address and is reserved for such use. Any other use would conflict with widely deployed code which assumes this use.

Eu assumo que "o endereço IP de retorno de loop" é 127.0.0.1.

Embora eu pudesse fazer ping e enrolar no link e obter os dados corretos, o carregamento desse URL no navegador da Web (cromo) era puxando de 127.0.0.1 como eu observei no cabeçalho da solicitação para a página padrão na ferramenta de desenvolvimento de rede. Eu acho que o cromo não verifica se há uma entrada / etc / hosts para qualquer solicitação para um host com o TLD .localhost ... Eu poderia ir para link e ainda mapeou para o meu site padrão hospedado em 127.0.0.1.

Refs:

  • No TLD ".localhost" - link
  • O RFC que descreve o TLD .localhost - link - seção 2 último parágrafo
  • Um tópico de discussão sobre por que o chromium resolve automaticamente todos os nomes de host que correspondem a * .localhost sem verificar o arquivo de host local (/ etc / hosts ou LMHOSTS). TL; DR: cromo funcionando como pretendido - link
por 19.12.2015 / 17:10

Tags