阿里云域名解析MX和CNAME记录冲突
今天解析域名域名遇到了一个问题,就是ssl证书验证需要设置个cname,发现和mx冲突,mx是设置的企业邮箱,以前不记得有这个冲突问题,不知道为啥现在阿里云域名会有这个问题。
于是翻翻阿里云的资料吧
记录冲突的原因
在递归进行解析查询时,各记录类型之间是有优先级的,所以在主机记录相同、解析线路相同的情况下,有几种记录类型不能共存使用,否则会给用户造成配置风险,导致业务不可用的情况发生。以下拿CNAME记录和MX记录的冲突来举例:
示例
假设为dnswork.top配置如下两条记录
记录类型 | 主机记录 | 记录值 |
---|---|---|
MX | @ | mx1.hichina.com |
CNAME | @ | www.wx1986.com |
结论
按照RFC标准协议CNAME优先级最高,所以在解析请求过程中,会优先返回CNAME解析记录结果,这样设置的结果导致用户无法请求到MX记录,直接对客户的邮箱业务造成使用影响。所以对于这类情况,云解析DNS会通过记录冲突的提示方式,来帮助用户避免这种配置风险。
您可以参阅 RFC1034 和 RFC2181 。例如RFC2181中:

CNAME和MX冲突的解决方法
示例
预期要为域名dnswork.top同时添加主机记录为@的MX和CNAME记录
记录类型 | 主机记录 | 记录值 |
---|---|---|
MX | @ | mx1.hichina.com |
CNAME | @ | example.com |
结论:因为MX和CNAME冲突的规则,无法正常完成添加。
建议方案
您可以通过使用URL转发记录来解析CNAME记录和MX记录冲突问题,需要注意的是URL转发前和转发后的域名都需要接入备案,URL转发配置参考
解析记录配置如下:
记录类型 | 主机记录 | 解析线路 | 记录值 | TTL |
---|---|---|---|---|
URL | @ | 默认 | example.com | 10分钟 |
MX | @ | 默认 | mx1.hichina.com | 10分钟 |
记录冲突的规则
在 主机记录相同、解析线路相同的情况下,在几种不同类型的解析中不能共存
1、冲突:在相同的 主机记录情况下,同一条解析线路下,该两种类型的解析记录不允许共存。如:已经设置了 www.wx1986.com 的 A 记录,则不允许再设置 www.wx1986.com 的 CNAME 记录;
2、不冲突: 在相同的 主机记录情况下,同一条解析线路下,该两种类型的解析记录可以共存。如:已经设置了 www.wx1986.com 的 A 记录,则还可以再设置 www.wx1986.com 的 MX 记录;
3、可重复:指在同一类型下,同一条线路下,可设置相同的多条记录值。如:已经设置了 www.wx1986.com 的 A 记录,还可以继续再设置 www.wx1986.com 的 A 记录。
NS | CNAME | A | URL | MX | TXT | AAAA | SRV | CAA | |
---|---|---|---|---|---|---|---|---|---|
NS | 可重复 | 冲突 | 冲突 | 冲突 | 冲突 | 冲突 | 冲突 | 冲突 | 冲突 |
CNAME | 冲突 | 可重复 | 冲突 | 冲突 | 冲突 | 冲突 | 冲突 | 冲突 | 冲突 |
A | 冲突 | 冲突 | 可重复 | 冲突 | 不冲突 | 不冲突 | 不冲突 | 不冲突 | 不冲突 |
URL | 冲突 | 冲突 | 冲突 | 冲突 | 不冲突 | 不冲突 | 冲突 | 不冲突 | 不冲突 |
MX | 冲突 | 冲突 | 不冲突 | 不冲突 | 可重复 | 不冲突 | 不冲突 | 不冲突 | 不冲突 |
TXT | 冲突 | 冲突 | 不冲突 | 不冲突 | 不冲突 | 可重复 | 不冲突 | 不冲突 | 不冲突 |
AAAA | 冲突 | 冲突 | 不冲突 | 冲突 | 不冲突 | 不冲突 | 可重复 | 不冲突 | 不冲突 |
SRV | 冲突 | 冲突 | 不冲突 | 不冲突 | 不冲突 | 不冲突 | 不冲突 | 可重复 | 不冲突 |
CAA | 冲突 | 冲突 | 不冲突 | 不冲突 | 不冲突 | 不冲突 | 不冲突 | 不冲突 | 可重复 |
注意:
云解析在提示记录冲突的时候,说明已经有对应的记录,不允许重复添加或者说不能添加对应的记录。