![通配符 DNS 条目与 SPF 之间存在冲突](https://linux22.com/image/654419/%E9%80%9A%E9%85%8D%E7%AC%A6%20DNS%20%E6%9D%A1%E7%9B%AE%E4%B8%8E%20SPF%20%E4%B9%8B%E9%97%B4%E5%AD%98%E5%9C%A8%E5%86%B2%E7%AA%81.png)
我在 Amazon 的 Route53 上设置了一个域,但似乎以下条目不起作用(显然替换了实际值)。有人能建议如何解决此问题吗应该是否成立?
这是初始设置,运行良好:
sub.example.com. A 1.2.3.4
*.sub.example.com. CNAME sub.example.com.
这使我们能够使用类似的 URL dave.sub.example.com/pages
,并让 Apache 将其重写为sub.domain.com/users/dave/pages
。
然后我为 SPF 添加了一条 TXT 记录:
sub.example.com. TXT "v=spf1 include:spf.mandrillapp.com ?all"
但是现在 Mandrill 报告了这个错误:
We found a record named sub.example.com.sub.example.com. Try changing it to sub.example.com.
我(毫无根据地)猜测,CNAME
记录胜过了TXT
记录。有没有办法让它们和平共处并保留重写*.sub.example.com
?
答案1
实际上,我认为您的配置没有问题。至少如果您的 TXT 记录确实有一个尾随点(如您的示例中所示),则配置没有问题。
最有可能的情况是,Mandrill 正在检查缺少尾随点的变体,并期望这是拼写错误。虽然您本身sub.example.com.
没有记录,但通配符sub.example.com.sub.example.com.
*.sub.example.com.
CNAME
使它出现您这样做是因为其目标已定义 TXT 记录。
如果您希望在不改变现有通配符功能的情况下消除此错误,您可以尝试使通配符的范围无效:
sub.example.com.sub.example.com. A 192.0.2.0
这应该可以防止通配符扩展匹配sub.example.com.sub.example.com.
,因为该范围的记录已经存在。由于它不是 TXT 记录,因此这将阻止 Mandrill 匹配具有该名称的 TXT 记录。
这不是一个漂亮的破解,但你唯一真正的选择是推动 Mandrill 不要抱怨这一点。