所以我有一个域名注册了Dreamhost,显然没有进行递归查找,还有Heroku上的应用程序. Heroku应用程序始终配置为使用CNAME记录到proxy.heroku.com.
所以:
Authoritative DNS: ns1.dreamhost.com (for foo.com) CNAME record: app.foo.com -> proxy.heroku.com Resolves to: Set of A records for EC2 IPs
我被一些人试图从Windows Server 2003 DNS服务器后面连接到应用程序,它以不同方式处理SERVFAIL并且无法解析DNS.我试图了解这是否真的是我自己或他们的配置问题,特别是,根据标题:
域的权威DNS服务器必须是递归的,以允许指向其他域的CNAME记录吗?
解决方法
不,您不需要为权威DNS服务器进行递归.根据您的要求,它甚至被视为良好做法(如果可能的话)您的权威服务器不是递归的,因为它是针对某些DoS攻击的防线. (例如,思科的文件是
here)
我的域中的示例如下(服务器正在运行Bind 9并且是非递归的).
; <<>> DiG 9.5.1-P3 <<>> mail.<snip> @<my authoritative master> ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY,status: NOERROR,id: 1216 ;; flags: qr aa rd ra; QUERY: 1,ANSWER: 3,AUTHORITY: 4,ADDITIONAL: 4 ;; QUESTION SECTION: ;mail.<snip>. IN A ;; ANSWER SECTION: mail.<snip>. 86400 IN CNAME ghs.google.com. ghs.google.com. 158151 IN CNAME ghs.l.google.com. ghs.l.google.com. 33 IN A 74.125.47.121 ;; AUTHORITY SECTION: google.com. 153556 IN NS ns4.google.com. google.com. 153556 IN NS ns2.google.com. google.com. 153556 IN NS ns3.google.com. google.com. 153556 IN NS ns1.google.com. ;; ADDITIONAL SECTION: ns1.google.com. 169823 IN A 216.239.32.10 ns2.google.com. 169823 IN A 216.239.34.10 ns3.google.com. 169823 IN A 216.239.36.10 ns4.google.com. 169823 IN A 216.239.38.10
这听起来更像是Windows 2003 DNS上的DNS配置错误.