裸域是不带子域前缀的域名本身,比如 example.com。它有一个技术限制:不能直接设置 CNAME 记录。因为裸域上必须保留域名系统必需的记录,而 CNAME 不能与其他记录共存。
第 23 期介绍过子域名,第 32 期介绍过 DNS 记录。一个域名可以分成裸域和子域两部分:example.com 是裸域,也叫根域、顶点域;www.example.com 是它的子域。
裸域有一个限制:不能直接设 CNAME 记录。原因是裸域上必须存在两类必需的记录——SOA,描述这个区域的管理信息;NS,指明这个域名由哪些服务器解析。而按域名系统的规则,一个名字上如果有了 CNAME,就不能再有任何其他记录。两者冲突,所以裸域不能设 CNAME。
这个限制在实践中会带来麻烦。很多托管服务(内容分发网络、云平台)只提供一个域名、不给固定 IP,按常规做法应该用 CNAME 指过去,但裸域不允许。于是服务商想出了变通办法:一种叫 ALIAS 或 ANAME 的记录,在服务商自己的服务器上先解析目标、再把结果当作普通地址记录返回;另一种叫 CNAME 展平,由服务商代替客户端完成解析。有了这些办法,裸域也能指向只提供域名的服务,不用手工写死 IP。