前言
最近将服务器国内国外做了一个分流,国内使用小厂CDN,境外使用腾讯云EO的CDN
因为毕竟是小厂CDN,做不到全球都很流畅,但是国内又能量大管饱。
EO的话,目前用起来比CF要好,至于为什么不直接全都用EO呢(因为给我另外一个在国内备案过的域名用了,只能用海外站没实名的EO了
至此,就引申出今天的BUG
由于我的@域名(也就是主域名)也使用CDN服务,所以需要使用到CNAME,目前国内似乎没有哪家DNS解析服务商支持CNAME展平(免费)
同时,我的主域名还需要进行邮箱的MX和TXT解析,如果设置了区分地域,CNAME的优先级要高于其他,就会导致这些解析丢失
准备阶段
你需要找到一个支持地域区分的DNS解析服务商。
国内免费的有 Dnspod(腾讯云) 火山引擎 华为云
目前我测试这三个都有这个问题
腾讯云DNS解析尽量不要用了,很麻烦,真的很麻烦
首先腾讯的问题是,如果你要区分地域,那么你的最开始设置的时候需要先添加一个默认地域的解析,然后再添加境内境外后再把默认删除,腾讯云官方回复的是,如果不设置默认会导致部分地区解析失效。。。这个问题已经好久了也没见修。。
解决方案
下面我说一下火山引擎的解决方案,理论华为云也同样适用(我并未尝试,毕竟我主要使用的服务在那边很少)
比如,你要添加主域名@ 的CNAME记录,你的CNAME区分了境内境外。
那么接下来你要添加的主域名@ 的MX记录和TXT记录都要遵循CNAME记录的设置 即添加两个解析,分别解析境内境外 记录值保持境内境外一致
如图
这样设置就能使解析正常,不会丢解析,也不会被CNAME的优先级给覆盖
很邪门的一个Bug,但是通过这个确实可以解决。。。
最后
z这只能说一个邪修的方法,不知道是什么引起的。也是在我瞎鼓捣中解决的。
如果想省心的话还是推荐阿里云的DNS付费19.9一年的个人版
目前测试下来,只有阿里云的可以直接添加。不会被区分地区导致CNAME覆盖其他解析
但是毕竟本博客是无盈利项目,所以还是能省则省~
有兴趣的小伙伴可以试一下(不过阿里云取消了非阿里云注册商域名的免费版DNS,属实恶心操作)