最近在尝试国内的DNS解析服务(DNSPod + 百度云加速),网传CloudXNS比DNSPod要好,所以尝试一下。但是在配置百度云加速的时候出现了问题。
Symptom
百度云加速需要为主域名配置一个TXT记录,但是CloudXNS是不允许CNAME和TXT共存的。报错如下:
*Note: 相同主机同一线路下CNAME和TXT记录不能共存
Root cause
CNAME记录具有排他性,DNS查找过程中碰到CNAME会递归重启查询。
因而当TXT和CNAME同时存在时,若先被查询到的记录是CNAME,那么这条TXT记录就不能被查询到了。
Solution
测试CNAME和MX,LINK以及其他记录都是互斥的,原因在网上可以查到。设想的解决办法有三种。
- 验证完成了再设置主域名。有两种方法:1)只设置www的CNAME,验证成功后再设置@的CNAME;2)找一个支持CNAME和TXT同时设置的DNS解析通过验证,然后在切换到CloudXNS。百度答复验证成功以后就可以删除TXT记录了。
- 放弃主域名的CNAME。事实上主要用的都是www子域名。
- 用LINK代替CNAME。这是CloudXNS的特有功能。
*Warning: 要注意LINK的格式
See Also
- 如何解决CNAME和MX不能共存的问题?
- CNAME 和 MX 记录冲突的原因
- RFC 1034