经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » TCP/IP和HTTP » 查看文章
DNS解析中CNAME和MX记录冲突
来源:cnblogs  作者:桓公子  时间:2024/1/8 8:38:23  对本文有异议

转载: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

原文链接:https://www.cnblogs.com/Huan0630/p/17950606

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号