通配符 DNS 条目与 SPF 之间存在冲突

通配符 DNS 条目与 SPF 之间存在冲突

我在 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 不要抱怨这一点。

相关内容