![我可以设置 CNAME 来指向单独域的 CNAME 吗?](https://linux22.com/image/641759/%E6%88%91%E5%8F%AF%E4%BB%A5%E8%AE%BE%E7%BD%AE%20CNAME%20%E6%9D%A5%E6%8C%87%E5%90%91%E5%8D%95%E7%8B%AC%E5%9F%9F%E7%9A%84%20CNAME%20%E5%90%97%EF%BC%9F.png)
我希望避免对我们正在使用的服务器的域进行更改。例如,现在我们需要指向:
www.oursite.com. IN CNAME www.myserver.com.
但是我们用来托管网站的服务正在对其进行更改,因此我们必须将每个指向新域名的域名的 CNAME 更改为新域名:
www.oursite.com. IN CNAME www.myserver-two.com.
由于我们必须对 100 多个域名进行此更改,因此我们希望在将来再次发生这种情况时能够保护自己。自行设置单个域名是否有效:
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 数据包。
答案1
标准不鼓励这样的解决方案。
它可能适用于大多数 DNS 软件,但您的客户端可能会遇到一些不愿意连续跟踪多个 CNAME 的软件。在这种情况下,使用此类 DNS 解析器的客户端可能无法使用这些域名访问您的服务。
在 RFC1034 中:
RR 中指向另一个名称的域名应该始终指向主名称而不是别名。
当然,根据稳健性原则,域软件在出现 CNAME 链或循环时不应该失败;应该遵循 CNAME 链,并将 CNAME 循环表示为错误。