3

Я использую Mac OS X 10.8.2, и у меня есть в локальном /etc /hosts это содержимое:

127.0.0.1 dev.test.local

Вместе с этим я локально установил nginx для обслуживания статических файлов для этого домена. И пока он работает, требуется около 5 секунд, прежде чем nginx получит соединение. Продемонстрировано:

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

То, что я заметил, было то, что, если я изменю свой файл hosts на это:

127.0.0.1 dev.test.com dev.test.local

Я получаю нормальные ответы менее чем за секунду:

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

Еще интереснее то, что если я переключаю порядок доменов в файле hosts, я снова получаю медленные ответы:

127.0.0.1 dev.test.local dev.test.com

дает:

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

Кто-нибудь знает, что здесь происходит?

1 ответ1

4

Кажется, проблема связана с использованием .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.

Источник: http://itand.me/mac-os-x-lion-local-domains-and-etchosts-oh-m

Забавно, что определение двух разных доменов делает его работоспособным, если первый хост создается первым с другим TLD.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .