注册商不允许SES要求在CNAME中进行下划线

时间:2012-11-30 17:35:20

标签: dns cname dkim

亚马逊的SES邮件服务需要DKIM身份验证。身份验证的一个步骤是将CNAME记录添加到您网域的DNS中。

不幸的是,CNAME记录有一个下划线。我的注册商Network Solutions不允许在CNAME记录中使用下划线。

有解决方法吗?转移到其他注册商是一种选择,但显然是一个可怕的选择。

4 个答案:

答案 0 :(得分:21)

在使用Network Solutions客户服务的电话上超过两个小时后,他们会为我手动输入Amazon SES DKIM身份验证记录。

首先,他们CNAME中不允许使用下划线的事实是不正当行为。

根据RFC 1034:

  

非主机名的名称可以包含任何可打印的ASCII字符。

DKIM标准要求下划线,根据RFC 4871:

  

所有DKIM密钥都存储在名为" _domainkey"的子域中。给出一个   带有" d ="的DKIM-Signature字段标签" example.com"和" s ="标签   " foo.bar",DNS查询将用于   " foo.bar._domainkey.example.com"

RFC 1034描述了CNAME记录,并指出CNAME RR不是(必然)hostname,因此应允许任何可打印的ASCII字符。网络解决方案的错误就是这个。

虽然DKIM记录可以存储为TXT条记录,但Amazon SES使用CNAME记录以便它们可以旋转密钥。如果没有网络解决方案的无效政策,哪些应该是可能的。

有关此问题的大多数信息,我建议使用this site,其中说明任何非hostnames的DNS条目(CNAME中的字段可以是,但不一定是)应该允许下划线。

为了最终让他们手动输入记录,他们需要升级故障单。它必须通过电话完成,我的初始电子邮件票响应令人失望的响应"你需要打电话。"

我不得不多次解释其他名称服务器允许CNAME中的下划线,如果它们无法容纳我们,我们将立即切换。

他们不得不与主要帐户持有人(不是我,而不是技术人员)交谈,以便确认"这些DNS记录应该放在适当的位置。即使他只是打电话给"确认"他们给他打电话超过70分钟。这个确认似乎完全没必要,因为我的帐户被授权编辑DNS记录。

这是一次相当令人沮丧的经历,我计划尽快从网络解决方案中迁移出来。所需的停机时间在过去劝阻了我们,但此时我认为这是合理的。

虽然您可能会说服他们手动输入记录,但如果可能的话,我建议切换名称服务器。

答案 1 :(得分:9)

DKIM完成了TXT条记录。当然,您可以拥有指向CNAME记录的TXT记录(或链),但直接创建TXT记录更为常见。

您的DNS权威名称服务提供商应该允许您将带有下划线的标签(DKIM需要)放入您的域的区域文件中。如果没有,则选择其他DNS名称服务提供商或使用您自己的名称服务器。

您正在使用的DNS 注册商与此无关。注册商不控制域名的内容,也不会意识到域名。

可能是您的注册商和DNS名称服务提供商恰好是同一个组织,但它们是不同的角色,应该单独考虑。

答案 2 :(得分:4)

DKIM需要名为_domainkeyRFC 4871)(和underscores are completely valid for subdomains)的子域名。

如果您的DNS提供商不允许,该怎么办?

  1. 联系他们,他们应该修理它,如果可以,请考虑更换提供商。
  2. 作为临时解决方案直接复制TXT记录(这是暂时的,因为它可能会在某些时候发生变化而您必须更新),请参阅以下内容:< / LI>

    例如,对于 SendGrid ,它会要求您将CNAME s1._domainkey.example.com指向s1.domainkey.u1234567.00000.sendgrid.net,因此请通过以下方式获取TXT记录:

    $ host -t txt s1.domainkey.u1234567.00000.sendgrid.net
    s1.domainkey.u1234567.00000.sendgrid.net descriptive text "k=rsa\; t=s\; p=SOMETHING+VERY+LOOOOOOOONG"
    

    现在为子域s1._domainkey创建一个包含内容的TXT记录(例如,请记住取消\):

    k=rsa; t=s; p=SOMETHING+VERY+LOOOOOOOONG
    

答案 3 :(得分:-1)

亚马逊论坛(https://forums.aws.amazon.com/thread.jspa?threadID=119464)表示如果CNAME记录不起作用,您可以使用TXT记录:

“在我的DNS设置上设置TXT条目,此条目如下所示:  名称:._ domainkey.mydomain.com  类型:TXT  价值:“p = AAZZZZZZEEEEEERRRRRRRRTTTTTTYYYYYYYYY ..”,“

我还没有能够使这个工作,但我认为这是正确的方向,因为我不太可能雅虎et.al.更改其DNS策略。