我可以设置一个 CNAME 指向一个单独域的 CNAME

nzi*_*nab 5 domain-name-system cname-record

我想让自己免受对我们正在使用的服务器域的更改的影响。例如,现在我们需要指出:

www.oursite.com.    IN  CNAME   www.myserver.com.
Run Code Online (Sandbox Code Playgroud)

但是我们用来托管站点的服务正在改变它,所以我们必须更改指向他们新域的每个域的 CNAME:

www.oursite.com.    IN  CNAME   www.myserver-two.com.
Run Code Online (Sandbox Code Playgroud)

由于我们必须对一百多个域进行此更改,因此我们希望自己隔离,以防将来再次发生这种情况。自己设置单个域是否有效:

www.corpsite.com.  IN CNAME  www.myserver-two.com.
Run Code Online (Sandbox Code Playgroud)

然后将我们所有的其他域指向那个域:

www.oursite.com.   IN CNAME  www.corpsite.com.
Run Code Online (Sandbox Code Playgroud)

这样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
Run Code Online (Sandbox Code Playgroud)

我认为这无关 - 我相信我们使用的服务器正在丢弃 ICMP 数据包。

小智 9

标准不鼓励这样的解决方案。

它可能适用于大多数 DNS 软件,但您的客户可能会遇到一些不愿意连续遵循多个 CNAME 的情况。在这种情况下,那些使用此类 DNS 解析器的客户端可能无法使用这些域名访问您的服务。

在 RFC1034 中:

RR 中指向另一个名称的域名应始终指向主名称而不是别名。

当然,根据健壮性原则,域软件在出现 CNAME 链或循环时不应失败;应遵循 CNAME 链,并将 CNAME 循环作为错误发出信号。