Я запускаю MAMP в OS X 10.7. Я настроил виртуальный хост в Apache, вот так:
<Directory "/sites/example.com/">
Allow From All
AllowOverride All
</Directory>
<VirtualHost *:80>
ServerName "example.local"
ServerAlias "www.example.local"
DocumentRoot "/sites/example.com"
</VirtualHost>
В / etc / hosts я добавил это:
127.0.0.1 example.local
Все работает нормально, может быть, неделю или две назад было очень быстро. Я не уверен, что изменилось, но теперь часть запроса DNS Lookup занимает более 5 секунд почти каждый раз, когда страница загружается, как сообщает Firebug и Chrome.
Проверка локального адреса выглядит неплохо:
->ping example.local
PING example.local (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.073 ms
Вот что показывает Chrome:
Если я обновляюсь сразу после первого подключения, поиск DNS кажется кешированным. Но повторное обновление через короткое время снова вызывает медленный поиск.
Любая помощь будет оценена по достоинству!
Хорошо, example.local
обычно является адресом mDNS (Zeroconf), поэтому существует большая вероятность того, что ваша конфигурация mDNS каким-то образом сломалась, и для этого требуется несколько секунд, чтобы тайм-аут, прежде чем он вернется к /etc/hosts
.
Почему бы просто не добавить localhost
как ServerAlias
и просто получить к нему доступ через это имя? В противном случае, по крайней мере, используйте домен, у которого нет домена верхнего уровня, который имеет другое значение для вашей системы.
Юо также может использовать домены, в которых нет .something, поэтому просто example
без .local
. Как упоминалось здесь http://www.justincarmony.com/blog/2011/07/27/mac-os-x-lion-etc-hosts-bugs-and-dns-resolution/ похоже, OSX использует .local для Bonjour.
Я тестировал, используя только пример без .local, и, похоже, он решает эту проблему.
У меня была эта проблема с сайтами, отличными от .local, при использовании AJAX. Мне удалось исправить это, добавив следующие строки в / etc / hosts
::1 slow-site.url
fe80::1%lo0 slow-site.url
над основным блоком сайтов для каждого сайта-нарушителя, где "slow-site.url" равно "example.local" или что-то еще.
это IPv6-адрес - подробнее здесь:
https://superuser.com/questions/241642/what-is-the-relevance-of-fe801lo0-localhost-in-etc-hosts