Tempos de pesquisa longos para .local no arquivo hosts

3

Estou usando o Mac OS X 10.8.2 e tenho em meu / etc / hosts local este conteúdo:

127.0.0.1 dev.test.local

Junto com isso, eu instalei o nginx localmente para servir arquivos estáticos para esse domínio. E enquanto funciona, leva ~ 5 segundos antes do nginx obter a conexão. Demonstrado por:

ba@djuproera% time curl -I http://dev.test.local/  
curl: (7) couldn't connect to host
curl -I http://dev.test.local/  0.00s user 0.00s system 0% cpu 5.010 total

O que eu notei foi que, se eu alterar o arquivo de hosts para isso:

127.0.0.1 dev.test.com dev.test.local

Recebo respostas normais de sub-segundo:

ba@djuproera[master*](ruby-1.9.3)% time curl -I http://dev.test.local/
curl: (7) couldn't connect to host
curl -I http://dev.test.local/  0.00s user 0.00s system 2% cpu 0.285 total

Mais interessante é que, se eu alternar a ordem dos domínios no arquivo de hosts, recebo respostas lentas novamente:

127.0.0.1 dev.test.local dev.test.com

Dá:

ba@djuproera[master*](ruby-1.9.3)% time curl -I http://dev.test.local/
curl: (7) couldn't connect to host
curl -I http://dev.test.local/  0.01s user 0.00s system 0% cpu 5.011 total

Alguém tem alguma ideia do que está acontecendo aqui?

    
por gaqzi 22.01.2013 / 09:21

1 resposta

3

Parece que o problema tem a ver com o uso de .local:

All .local domains are technically reserved for Multicast DNS (Bonjour), 
and Lion no longer looks in /etc/hosts first when you try to lookup 
a .local domain. Instead, it asks MDNS first, waits out the 5 second 
timeout, then checks /etc/hosts.

Fonte: link

É engraçado como definir dois domínios diferentes faz com que funcione, se o primeiro host for feito primeiro com outro TLD.

    
por 22.01.2013 / 18:23