![为一个子域添加 CNAME 和 TXT DNS 记录](https://linux22.com/image/699400/%E4%B8%BA%E4%B8%80%E4%B8%AA%E5%AD%90%E5%9F%9F%E6%B7%BB%E5%8A%A0%20CNAME%20%E5%92%8C%20TXT%20DNS%20%E8%AE%B0%E5%BD%95.png)
我有一个 Heroku 应用,我需要为它设置一个域。设置它的常用方法是使用 CNAME 记录来指定此域是 的别名<your-domain-name>.herokuapp.com
。问题是,我还想添加 Google Webmasters 和 Yandex.Metrika 集成,最简单的方法是为该域添加两个 TXT 记录。我是这样设置的:
我需要有 2 条 TXT 记录http://www.cscombo.com,但显然这不会起作用,因为:https://stackoverflow.com/questions/34613083/cname-and-txt-record-for-same-subdomain-not-working
我当前的设置无法正常工作,因为添加http://www.cscombo.com向 Google 网站管理员发送邮件不起作用(因为 www 子域名的 TXT 记录不存在),并添加http://cscombo.com(非 www 版本)可以工作(此子域的 TXT 记录存在),但这样 Google 网站管理员就无法读取和sitemap.txt
(robots.txt
因为它们都重定向到网站的 www 版本)。Yandex.Metrika 的情况也一样。
那么,问题是:有没有办法为同一个子域添加 CNAME 和 TXT 记录?
答案1
你不能。因为RFC1034在 s3.6.2 中说,
如果节点上存在 CNAME RR,则不应存在其他数据
如果您想要TXT
(例如)的记录www.example.com
,您就不能拥有 的CNAME
记录www.example.com
,而必须找到另一种方法来实现您想要的。这可能意味着监视example.herokuapp.com
自己,并且当 IP 地址发生变化时,更新您自己的A
记录www.example.com
。
答案2
如果您的注册商支持,则可以使用ALIAS
记录作为解决方法。这是一种在顶级域上提供类似 CNAME 行为的记录。阅读更多:https://support.dnsimple.com/articles/alias-record/#whats-an-alias-record
例如,您可以创建指向 的ALIAS
记录。这样,您也可以在同一域名上拥有 的记录。@
myapp.herokuapp.com
TXT
@