这是关于区域的根(或根)处的CNAME 的规范问题
相对常见的知识是,CNAME
在域的最高端进行记录是一种禁忌做法。
例:
example.com. IN CNAME ithurts.example.net.
在最佳情况下,名称服务器软件可能会拒绝加载配置,在最坏的情况下,它可能会接受此配置并使example.com的配置无效。
最近,我有一家虚拟主机公司将指令传递给业务部门,我们需要将其域名CNAME更改为新记录。我知道这是在给BIND喂食时会自杀的配置,所以我建议他们不能遵从,这通常是不明智的建议。该网站托管公司采取的立场是,标准定义的RFC并没有完全禁止它,并且其软件支持它。如果我们不能为顶点创建CNAME,则他们的建议是根本没有顶点记录,并且他们将不提供重定向的Web服务器。...什么?
我们大多数人都知道RFC1912坚持要求A CNAME record is not allowed to coexist with any other data.
,但是在这里我们实话实说,RFC只是信息性的。我所知道的最禁止这种做法的说法是来自RFC1034:
如果节点上存在CNAME RR,则不应存在其他数据。这样可以确保规范名称及其别名的数据不能不同。
不幸的是,我从事该行业已经足够长的时间了,知道“不应该”和“必须不”是不一样的,对于大多数软件设计师来说,这足够了。知道除了与灌篮的简洁链接之外的任何事情都将浪费我的时间,我最终让该公司责无旁贷地推荐配置,这些配置可能会在没有适当披露的情况下破坏常用软件。
这使我们进入了问答环节。一次,我希望我们能真正了解顶点CNAME的精神错乱,而不是像有人在主题上发帖时通常那样,绕开这个问题。RFC1912超出了我的范围,我没有想到的其他适用于此的信息性RFC也是如此。让我们把这个婴儿关掉。