Amazon的SES邮件服务需要DKIM身份验证。身份验证的一个步骤是将CNAME记录添加到域的DNS中。
不幸的是,CNAME记录有一个下划线。我的注册商Network Solutions不允许在CNAME记录中使用下划线。
有解决这个问题的办法吗?转移到不同的注册商是一种选择,但显然是一个可怕的选择。
发布于 2012-12-01 03:20:44
DKIM是用TXT记录完成的。当然,您可以有一个指向TXT记录的CNAME记录(或链),但直接创建TXT记录要常见得多。
您的DNS权威名称服务提供商应该允许您将带下划线的标签( DKIM要求)放入域的区域文件中。如果没有,请选择其他DNS名称服务提供商或使用您自己的名称服务器。
您使用的DNS注册商与此无关。注册商并不控制域名的内容,他们甚至也不会意识到它。
您的注册商和DNS域名服务提供商可能碰巧是同一个组织,但它们是不同的角色,应该分开考虑。
发布于 2014-11-02 03:48:05
在与Network Solutions客服通了两个多小时的电话后,他们正在为我手动输入Amazon SES DKIM身份验证记录。
首先,他们不允许在CNAME中使用下划线的事实是不正确的行为。
根据RFC 1034:
非主机名的
名称可以由任何可打印的ASCII码字符组成。
根据RFC 4871,DKIM标准需要下划线:
所有密钥都存储在名为"_domainkey“的子域中。给定一个带有"d=“标签"example.com”和"s=“标签"foo.bar”的DKIM-Signature字段,DNS查询将为"foo.bar._domainkey.example.com“。
RFC1034描述了CNAME记录,并指出CNAME RR (不一定)是hostname,因此应该允许任何可打印的ASCII字符。Network Solutions在这一点上是错误的。
虽然DKIM记录可以存储为TXT记录,但Amazon SES使用CNAME记录,以便它们可以轮换密钥。如果没有Network Solution的无能策略,这应该是可能的。
有关这方面的大多数信息,我推荐使用this site,它解释了任何不是hostnames ( CNAME中的字段可以是,但不一定是)的DNS条目都应该允许使用下划线。
为了最终让他们手动输入记录,他们需要升级票据。这件事必须在电话中完成,我最初的电子邮件收到的回复令人失望:“你需要打电话给我。”
我不得不多次解释,其他名称服务器允许在CNAME中使用下划线,如果它们无法容纳我们,我们将立即切换。
他们必须与主要帐户持有者(不是我,也不是技术人员)交谈,以便“确认”这些DNS记录应该放在适当的位置。尽管他只是打电话来“确认”,但他们还是让他在电话里跑了70多分钟。此确认似乎完全没有必要,因为我的帐户已被授权编辑DNS记录。
这是一个相当令人沮丧的经历,我计划尽快从网络解决方案中迁移出来。过去,所需的停机时间曾使我们望而却步,但在这一点上,我相信这是合理的。
虽然您可能能够说服他们手动输入记录,但如果可能的话,我建议他们更换名称服务器。
发布于 2016-03-22 05:40:40
DKIM需要名为_domainkey (RFC 4871) (和underscores are completely valid for subdomains)的子域。
如果您的DNS提供商不允许它们怎么办?
:
例如,对于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"现在为带有as内容的子域s1._domainkey创建一条TXT记录(例如,记住取消转义\ ):
k=rsa; t=s; p=SOMETHING+VERY+LOOOOOOOONGhttps://stackoverflow.com/questions/13650233
复制相似问题