CNAME与MX解析记录冲突如何解决?
背景
企业购买域名用作公司网站访问,同时还要将域名作为企业办公邮箱使用,需要合理规划配置。
企业网站基于访问加速或者安全访问等方面的考虑,使用了CDN、WAF、OBS等场景,不能直接配置A记录解析到网站IP,需要添加CNAME解析到CDN、WAF、OBS等服务的CNAME地址。由于DNS标准协议不允许同域名CNAME解析和其他解析类型(例如邮箱MX)共存,而域名又要用作企业办公邮箱,所以会存在特殊情况(例如CNAME与MX解析记录冲突)导致邮箱不可用,影响企业正常办公。
本文以域名example.net域名为例,介绍该问题的解决方案。
(推荐)方案一:行业通用配置方案
网站解析:
- 主域名example.net添加A记录解析到网站IP,详细内容请参见添加A类型记录集。
- 子域名www. example.net添加CNAME记录解析到CDN、WAF、OBS等云服务域名,详细内容请参见添加CNAME类型记录集。
- 在网站IP配置301/302跳转,将example.net跳转到www. example.net。
邮箱解析:主域名example.net配置MX解析记录和A记录不冲突,详细内容请参见添加MX类型记录集。
(不推荐)方案二:规避方案
个别中小企业没有专业的技术人员或运维人员,无法配置301/302跳转,希望域名example.net既要配置CNAME记录解析到CDN、WAF、OBS等网站域名,又要用作邮箱使用,能接受特定场景邮箱不可用情况。
假如本地客户端先访问网站example.net解析,域名DNS服务商将返回example.net解析地址是CNAME类型www.example.net.c.cdnhwc1.com,本地DNS通常会按照TTL缓存CNAME记录值,此时如果要使用邮箱会请求example.net的MX解析类型,由于本地客户端已经有example.net的CNAME缓存,按照标准协议本地DNS直接返回CNAME记录值www.example.net.c.cdnhwc1.com,MX记录请求失败,影响邮箱邮件发送接收功能使用,需要等到CNAME记录值缓存到期才能恢复。
可以参考如下配置方案:
网站解析:主域名example.net添加CNAME解析到CDN、WAF、OBS等云服务域名地址。
邮箱解析:主域名example.net正常添加MX解析记录,但是需要通过不同线路来规避和CNAME解析冲突。
上述配置方案可以规避解析冲突,但是无法规避特殊场景下邮箱解析不可用的情况,请仔细评估业务风险,谨慎使用。