DNS解析中CNAME和MX记录冲突
轉載:DNS中CNAME和MX記錄的沖突
在DNS解析中,CNAME記錄與其他記錄往往是互斥的。最常見的是CNAME記錄和MX記錄的互斥。例如我們在http://example.com部署官網,通過CNAME解析到后端網關的IP地址。但是http://example.com往往也是我們的郵件地址,需要添加MX解析記錄和SPF-TXT記錄。如果有CNAME記錄的存在,可能會導致他們失效(有時候也不會,要看實際訪問的主機是否緩存了CNAME記錄)。
那么你可能會問了,為什么http://example.com使用CNAME記錄而不是A記錄呢?在實務中,我確實更喜歡使用CNAME記錄。我一般使用k8s集群,通過Ingress網關暴露到公網,此時所有服務都有統一的一組網關地址,我將一個統一的網關域名解析到該組地址,然后各個服務的域名分別解析到網關域名。如此一來,當網關的負載均衡IP發生改變時,只需要變更網關DNS的解析記錄即可。又或者使用CDN等技術需要CNAME接入。
為什么CNAME和其他解析記錄互斥?
如何解決?
方法一
最簡單的方法就是不用CNAME,改用A記錄。
方法二
使用更現代的ALIAS記錄替代CNAME記錄,前提是DNS供應商需要支持ALIAS記錄。目前,阿里云貌似不支持。
方法三
阿里云推出了顯性URL解析記錄。嚴格來說,這個不是記錄,他其實也是A記錄。它通過A記錄,把域名解析到阿里云的服務器,然后阿里云通過301或者302的方式將請求轉發到別的地方去。
可以把官網部署在http://www.example.com,然后http://example.com配置此解析,通過301轉發到目標的http://www.example.com域名上。
當然,你也可以自己配置一臺服務器,添加A記錄,進行轉發。但是這又涉及到需要自己維護IP變更的問題了,可以做個動態DNS解析。
參考:
1.DNS各類型互斥關系說明 https://messay.me/2019/07/14/DN
總結
以上是生活随笔為你收集整理的DNS解析中CNAME和MX记录冲突的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何找到 niche 出海细分市场的
- 下一篇: 不止八股:阿里内部语雀一些有趣的并发编程