我是 OSX 上的开发人员,我一直使用 .local 来开发本地站点,自从 ML 以来,我一直在运行 DNSmasq 来解决服务查询顺序问题,以便我可以继续使用 /etc/hosts 来定义我的记录(我相信 DNSmasq 会接受)。
我以为它有效,但它似乎不一致,对某些人有效,对其他人无效。
ping 一个无法正常工作的域名似乎有大约 30 秒的长时间延迟。在 Web 浏览器中访问同一个域名永远无法解析。然而,挖掘该域名会立即从 DNSmasq 返回 A 记录结果
平:
robaldred:~/Sites/sasp (master)
→ ping sasp.local
# insert long pause here
PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.089 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.136 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.141 ms
挖
robaldred:~/Sites/sasp (master)
→ dig sasp.local
; <<>> DiG 9.8.3-P1 <<>> sasp.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55538
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;sasp.local. IN A
;; ANSWER SECTION:
sasp.local. 0 IN A 127.0.0.1
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Apr 8 15:05:25 2013
;; MSG SIZE rcvd: 44
/etc/resolv.conf
#
# Mac OS X Notice
#
# This file is not used by the host name and address resolution
# or the DNS query routing mechanisms used by most processes on
# this Mac OS X system.
#
# This file is automatically generated.
#
nameserver 127.0.0.1
/etc/resolv.dnsmasq.conf
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2620:0:ccc::2
nameserver 208.67.222.222
/usr/local/etc/dnsmasq.conf
答案1
首先,您应该选择除 之外的后缀.local
。该伪 TLD 对 mDNS/Bonjour 有特殊含义。我使用.dev
,但您可以使用任何非有效 TLD 或伪 TLD。
然后你可能会发现我的答案对于另一个超级用户的问题很有用。dig
不起作用,但是ping
,curl
等会起作用,就像在网络浏览器中打开您的网站一样。