这是一个关于区域顶点(或根部)CNAME的规范问题
相对普遍的知识是CNAME,域顶端的记录是一种禁忌做法。
例子:
example.com. IN CNAME ithurts.example.net.
在最好的情况下,名称服务器软件可能会拒绝加载配置,在最坏的情况下,它可能会接受此配置并使 example.com 的配置无效。
最近,我让一家网络托管公司将指令传递给一个业务部门,我们需要将我们域的顶点 CNAME 命名为新记录。知道这将是一个自杀配置,当提供给 BIND 时,我告诉他们我们将无法遵守,这通常是愚蠢的建议。该网络托管公司的立场是,标准定义 RFC 并没有完全禁止它,并且他们的软件支持它。如果我们不能对顶点进行 CNAME,他们的建议是根本没有顶点记录,并且他们不会提供重定向网络服务器。...什么?
我们大多数人都知道RFC1912坚持这一点A CNAME record is not allowed to coexist with any other data.,但让我们在这里对自己诚实,RFC 只是信息性的。我所知道的最接近禁止这种做法的措辞来自RFC1034:
如果节点上存在 CNAME RR,则不应存在其他数据;这可确保规范名称及其别名的数据不能不同。
不幸的是,我已经在这个行业工作了足够长的时间,我知道“不应该”与“必须不”不同,这对于大多数软件设计师来说已经足够了。知道任何缺少指向灌篮的简洁链接都会浪费我的时间,我最终让公司因为推荐的配置可能会在没有适当披露的情况下破坏常用软件的配置而受到责骂。
这让我们进入问答环节。这一次,我希望我们能够真正了解顶级 CNAME 的疯狂,而不是像我们通常在有人发布该主题时所做的那样回避这个问题。RFC1912是不受限制的,就像我没有想到的任何其他适用于此的信息 RFC 一样。让我们关闭这个婴儿。
DNS 中是否允许拥有指向另一个 CNAME 记录的 CNAME 记录?
我们需要它的原因是我们有一个主机名,我们希望在我们的网络服务器计算机的 IP 地址中查找它。我们还有另一台备用的网络服务器计算机,可以在第一台计算机死亡的情况下激活它。在这种情况下,我们很快就需要将主机名指向备用 Web 服务器计算机的 IP 地址。
不幸的是,主机名驻留在 DNS 域中,由于依赖于其他系统管理员的手动操作,任何更改都需要很长时间。但是我们有另一个 DNS 域,我们可以在其中快速执行更改。拥有 CNAME 到 CNAME 链似乎是一个可能的解决方案。但允许吗?网络浏览器会理解它吗?