Todas as etapas para configurar e resolver subdomain.localhost para 127.0.0.1?

1

De repente eu me sinto teimosa sobre o meu subdomínio no localhost não está funcionando. Meu arquivo /etc/hosts é assim:

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0 localhost

127.0.0.1   develop2win.de
127.0.0.1   develop2win.de

127.0.0.1   alomvar.localhost

Colocar todos os nomes de host para um IP em uma linha como esta não funciona:

127.0.0.1   localhost alomvar.localhost develop2win.de www.develop2win.de

Eu também reiniciei o resolvedor de DNS apropriado para o OS X 10.9 Mavericks com o seguinte comando:

dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Mas a emissão de nslookup alomvar.localhost no terminal gera o seguinte:

Server:     192.168.178.1
Address:    192.168.178.1#53

** server can't find alomvar.localhost: NXDOMAIN

Esse é o IP do roteador na minha rede local. Parece que o arquivo hosts localhost é ignorado para resolução neste caso. Antes do processo, develop2win.de foi resolvido com êxito e apontado para um host virtual Apache local. Mas agora nem isso funciona mais, o mesmo erro acima (WTF?). No entanto, olhando para cima localhost funciona bem, ainda:

Server:     192.168.178.1
Address:    192.168.178.1#53

Name:   localhost
Address: 127.0.0.1

Atualização 1 : eu fiz uma reinicialização também, sem nenhuma alteração. Parece que as consultas do DNS não são resolvidas localmente, mas enviadas para o meu roteador.

O que estou perdendo? Alguém tentou configurar um subdomínio para localhost no OS X Mavericks? Isso nem é sobre o Apache, apenas o DNS.

Aqui está uma captura de tela da minha configuração de DNS nas preferências do sistema , a propósito. Como ainda não tenho reputação suficiente para incorporar imagens, este é um link para um site externo.

Atualização 2 : realizei verificações com os comandos host e ping no terminal, como apontou dave_thompson_085. Para localhost funciona bem:

$ host localhost
localhost has address 127.0.0.1

Mas para o subdomínio não:

$ host alomvar.localhost
Host alomvar.localhost not found: 3(NXDOMAIN)

O ping localhost também funciona bem:

$ ping localhost
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.048 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.078 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.085 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.076 ms
^C
--- localhost ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.048/0.072/0.085/0.014 ms

E agora, irritantemente, funciona também para o subdomínio:

$ ping alomvar.localhost
PING alomvar.localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.039 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.042 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.091 ms
^C
--- alomvar.localhost ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.039/0.062/0.091/0.022 ms

Como posso pingar sem problemas, mas não resolver o subdomínio? Aparentemente, deve funcionar assim, quando vejo como outras pessoas fizeram isso pela internet. Eu não sou uma fissura em relação a redes. Eu provavelmente quebrei algo diferente do que é diretamente necessário para configurar isso.

Eu também executei dig no localhost e no subdomínio. A saída é bastante longa e acho que essa questão já está bastante confusa. Veja este arquivo para digita a saída.

Atualização 3 : Ao desconectar meu Mac da rede (desabilitando o adaptador de rede ethernet) dig e host falham ao procurar também o host local.

Update 4 : Descobri que funciona nos navegadores para mostrar ao host virtual Apache que está ouvindo o host assim chamado. Não é uma solução para o problema, mas uma circunstância com a qual posso viver e trabalhar. No entanto, ainda estou interessado em resolver o problema. Se alguém tiver alguma ideia, diga-me.

    
por Peter Thomas Horn 09.07.2014 / 22:54

1 resposta

2

dig , host e nslookup ignoram o resolvedor de nomes do sistema e consultam o DNS diretamente. Assim, eles não verão os nomes definidos em / etc / hosts (a menos que eles sejam também definidos no serviço DNS), ou qualquer mDNS (aka Bonjour) .nomes locais ou entradas do Computador no diretório serviços, ou ...

Se você quiser ver o que o resolvedor de sistema vê, a melhor ferramenta é dscacheutil . Infelizmente, sua sintaxe é bastante desajeitada ( dscacheutil -q host -a name alomvar.localhost ), então geralmente é mais rápido usar algo como ping que usa o resolvedor de nome do sistema. Mas se você quiser detalhes completos (por exemplo, se um nome resolve vários endereços), dscacheutil é o caminho a percorrer.

    
por 11.07.2014 / 03:40