参见英文答案 >
Is a CNAME to CNAME chain allowed?3个
@H_502_2@我想将自己与我们正在使用的服务器域的更改隔离开来.例如,现在我们需要指出:
www.oursite.com. IN CNAME www.myserver.com.
但是我们用来托管网站的服务正在改变它,因此我们必须更改我们指向其新域的每个域的CNAME:
www.oursite.com. IN CNAME www.myserver-two.com.
由于我们有超过一百个域名,我们必须对此进行更改,因此我们希望将自己隔离,以防将来再次发生这种情况.自己设置单个域是否有效:
www.corpsite.com. IN CNAME www.myserver-two.com.
然后将我们所有其他域指向该域:
www.oursite.com. IN CNAME www.corpsite.com.
这样www.oursite.com将通过www.corpsite.com路由并最终在www.myserver-two.com上找到正确的服务器?
编辑:
我们在其中一个域上尝试了这个…它似乎正在工作,但我们无法ping它(ping超时).所以我们不确定它是否只是“意外”工作,以及其他可能以这种方式做事的问题.
这就是我ping它时会发生的事情:
$ping www.oursite.com PING us-east-1-a.route.myserver-two.com (scrubbed): 56 data bytes Request timeout for icmp_seq 0 Request timeout for icmp_seq 1 Request timeout for icmp_seq 2 Request timeout for icmp_seq 3
我认为这是无关的 – 我相信我们使用的服务器正在丢弃ICMP数据包.
解决方法
标准不鼓励这样的解决方案.
它可能适用于大多数DNS软件,但您的客户可能会遇到一些不愿意连续跟踪多个CNAME的客户.在这种情况下,使用这种DNS解析器的客户可能无法使用这些域名访问您的服务.
在RFC1034中:
Domain names in RRs which point at another name should always point at@H_502_2@ the primary name and not the alias.
Of course,by the robustness principle,domain software should not fail when presented with CNAME chains or loops; CNAME chains should be followed and CNAME loops signalled as an error.