I'm running MAMP on OS X 10.7. I've set up a virtual host in Apache, like so:
<Directory "/sites/example.com/">
Allow From All
AllowOverride All
</Directory>
<VirtualHost *:80>
ServerName "example.local"
ServerAlias "www.example.local"
DocumentRoot "/sites/example.com"
</VirtualHost>
In /etc/hosts I've added this:
127.0.0.1 example.local
Everything works fine, and up to maybe a week or two ago was very fast. I'm not sure what changed, but now the DNS Lookup portion of the request takes upwards of 5 seconds nearly every time the page is loaded, as reported by both Firebug and Chrome.
Pinging the local address looks good:
->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
Here's what Chrome shows:
If I refresh immediately after the first connection, the DNS lookup appears to be cached. But refreshing again a short time later causes the slow lookup again.
Any help would be appreciated!
Well,
example.local
is typically an mDNS (Zeroconf) address, so there's every possibility that your mDNS config has broken in some way, and it's taking a few seconds for that to timeout before it falls back to/etc/hosts
.Why not just add
localhost
as aServerAlias
and just access it via that name? Otherwise, at least use a domain that doesn't have a top-level domain that has a different meaning to your system.Yuo can also use domains which don't have .something, so just
example
without the.local
. As mentioned here http://www.justincarmony.com/blog/2011/07/27/mac-os-x-lion-etc-hosts-bugs-and-dns-resolution/ it appears OSX uses the .local for Bonjour.I tested using just example without the .local and it appears to be solving this issue.
I've had this issue with non .local sites when using AJAX- I managed to fix it by adding the following lines to /etc/hosts
above the main block of sites for each offending site where 'slow-site.url' is 'example.local' or whatever.
it's a IPv6 address - more details here:
https://superuser.com/questions/241642/what-is-the-relevance-of-fe801lo0-localhost-in-etc-hosts