domain-name-system – 为什么域的根不能成为CNAME?

参见英文答案 > Why can’t a CNAME record be used at the apex (aka root) of a domain?2个
我刚读了 this question,基本上说当我为example.com设置DNS时,根记录不能是CNAME,它必须是A记录.

我的问题是,为什么?

我确信设计DNS的聪明人没有无理由地制定任何限制,但是我没有看到我们通过将根域称为A记录而获得的收益.我很乐意将我的example.com域名指向someserver.somewebhost.example并忘记它,但我不能.

请告诉我,billpg.

解决方法

首先,根本原因不是你必须使用A记录,而是你不能使用CNAME记录,因为它们不能与其他普通资源记录类型共存.

限制的原因在RFC 1034的§3.6.2中:

If a CNAME RR is present at a node,no
other data should be present; this
ensures that the data for a canonical
name and its aliases cannot be
different. This rule also insures
that a cached CNAME can be used
without checking with an authoritative
server for other RR types.

由于(委托)域的根必须具有SOA和NS记录,因此上面的规则会启动,从而阻止使用CNAME.

相关文章

HTML代码中要想改变字体颜色,常常需要使用CSS样式表。CSS是...
HTML代码如何让字体盖住图片呢?需要使用CSS的position属性及...
HTML代码字体设置 在HTML中,我们可以使用标签来设置网页中的...
在网页设计中,HTML代码的字体和字号选择是非常重要的一个环...
HTML(Hypertext Markup Language,超文本标记语言)是一种用...
外链是指在一个网页中添加一个指向其他网站的链接,用户可以...