首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注册商不允许在SES要求的CNAME中使用下划线

注册商不允许在SES要求的CNAME中使用下划线
EN

Stack Overflow用户
提问于 2012-12-01 01:35:20
回答 4查看 25.2K关注 0票数 25

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

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

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-01 03:20:44

DKIM是用TXT记录完成的。当然,您可以有一个指向TXT记录的CNAME记录(或链),但直接创建TXT记录要常见得多。

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

您使用的DNS注册商与此无关。注册商并不控制域名的内容,他们甚至也不会意识到它。

您的注册商和DNS域名服务提供商可能碰巧是同一个组织,但它们是不同的角色,应该分开考虑。

票数 10
EN

Stack Overflow用户

发布于 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记录。

这是一个相当令人沮丧的经历,我计划尽快从网络解决方案中迁移出来。过去,所需的停机时间曾使我们望而却步,但在这一点上,我相信这是合理的。

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

票数 25
EN

Stack Overflow用户

发布于 2016-03-22 05:40:40

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

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

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

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

代码语言:javascript
复制
$ 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记录(例如,记住取消转义\ ):

代码语言:javascript
复制
k=rsa; t=s; p=SOMETHING+VERY+LOOOOOOOONG
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13650233

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档