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

csi*_*csi 24 dns cname dkim

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

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

这有解决方法吗?转移到不同的注册商是一种选择,但显然是一个可怕的选择.

Dam*_*ack 21

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

首先,他们不允许下划线的事实CNAME是INCORRECT行为.

根据RFC 1034:

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

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

所有DKIM密钥都存储在名为"_domainkey"的子域中.给定DKIM-Signature字段,其"d ="标记为"example.com","s ="标记为"foo.bar",DNS查询将为"foo.bar._domainkey.example.com" .

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

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

有关此问题的大多数信息,我建议使用此站点,该站点解释了任何非DNS条目hostnames(a中的字段CNAME可以但不一定)应该允许下划线.

为了最终让他们手动输入记录,他们需要升级票证.它必须在电话上完成,我的初始电子邮件票回复了令人失望的回答"你需要打电话."

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

他们不得不与主要账户持有人(不是我,而不是技术人员)交谈,以"确认"这些DNS记录应该到位.即使他只是打电话来"确认",他们还是通过电话让他跑了70多分钟.这个确认似乎完全没必要,因为我的帐户被授权编辑DNS记录.

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

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


Cel*_*ada 9

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

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

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

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

  • @BaranitharanSelvasundaram 作为一般规则,当你给它三年时,互联网不会变得更聪明。'纳夫说。 (2认同)

Wer*_*ght 5

DKIM 需要名为_domainkey( RFC 4871 ) 的子域(下划线对子域完全有效)。

如果您的 DNS 提供商不允许它们怎么办?

  1. 联系他们,他们应该修复它,如果可以,请考虑更换提供商。
  2. 作为临时解决方案,直接复制 TXT 记录(这是临时的,因为它可能会在某些时候更改并且您必须更新),请参见下文:

例如,对于SendGrid,它会要求您将 CNAMEs1._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"
Run Code Online (Sandbox Code Playgroud)

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

k=rsa; t=s; p=SOMETHING+VERY+LOOOOOOOONG
Run Code Online (Sandbox Code Playgroud)