CNAME 条目在使用 Amazon Certificate Manager 的 NameCheap 上不起作用

Posted

技术标签:

【中文标题】CNAME 条目在使用 Amazon Certificate Manager 的 NameCheap 上不起作用【英文标题】:CNAME entry not working on NameCheap using Amazon Certificate Manager 【发布时间】:2018-12-14 08:36:55 【问题描述】:

我正在尝试在 Amazon Certificate Manager 中设置一些 SSL 证书,但在 Namecheap 中添加 CNAME 后无法验证它们。

Here 是 Amazon Certificate Manager 中的 CNAME 验证条目示例

Here 是 Namecheap 上另一个域 CNAME 条目的示例

如果我将 Name 条目的全部值放入 Namecheap 的 Host 中,则验证失败。由于 Name 条目超过 60 个字符,我在某些长域上也遇到了错误。

任何人都可以协助使用 Namecheap 通过 DNS 进行验证所需的正确部分吗?

【问题讨论】:

图片的输入不同,尽量使用相同的输入,不要在前面加上http 去掉域名和最后一个点,例如_cfff00000.www.example.com左边的值就是_cfff00000.www 【参考方案1】:

在 CNAME 记录中输入 - _cff0cda88701846cbe7a34cd737378e2 作为主机字段,在值字段中输入 - _490287b8f448e2cca3862ebb4a51591.acm-validations.aws

完成后,至少等待 1 小时以反映更改。

【讨论】:

您好,在 NameCheaps 网站上,我们获得了记录类型字段、主机字段和目标字段。在此示例中,记录类型字段显然是 CNAME。您是说 Host 字段应该是 _cff0cda88701846cbe7a34cd737378e2 而目标应该是 _490287b8f448e2cca3862ebb4a51591.acm-validations.aws.xxxxx? xxxxxx 也代表我的域名吗?所以如果我的域名是 www.blah.com 它应该是 _490287b8f448e2cca3862ebb4a51591.acm-validations.aws.www.blah.com? 不,你不需要用你的域名替换 xxx,我已经添加了这个,如果有更多额外的字符串用于一般用例。现在我已经更新了答案。您只需要输入直到 .aws。 值中的下划线会出错 - 有人遇到过类似的情况吗? @apratimankur docs.aws.amazon.com/acm/latest/userguide/… :只需删除下划线,它仍然应该有效 下面一个对我有用,我必须在 CNAME 记录的末尾添加“.www”,否则我没有工作【参考方案2】:

即使 AWS 包含它,也不要在 Namecheap 的 CNAME 主机字段中包含域名本身(他们显然是为您附加的);最后把它砍掉。值字段很好。

给它半个小时。

【讨论】:

【参考方案3】:

如果有人正在为 AWS CloudFront ssl 验证寻找 NameCheap DNS 记录验证,请参阅下面的屏幕截图。截至 2019 年 7 月,此 NameCheap DNS 记录验证对我有效

【讨论】:

这很令人困惑:我无法在 AWS 上编辑值,那么为什么图像会显示“最后删除域”?名称和值的 guid 不匹配,所以不可能是这样 @jcollum 啊,我明白了,屏幕截图有点混乱。我的意思是 NameCheap 中的 DNS 记录中的“最后删除域”,而不是 AWS 中。我现在更新了屏幕截图。 我最近用 namecheap 建立了一个静态站点,他们说ALIAS,@, [aws url] 记录也很重要。我是从记忆中回忆起来的,所以我可能有点离题。值得为其他必须经历此过程的人提出建议。 好吧,这终于说得通了,我觉得很傻。当您在主机字段中使用 xyz.mysite.com 时,您实际上是在为“xyz.mysite.com.mysite.com”设置记录。 如果我尝试在主机字段末尾附加 .www,namecheap 网站会崩溃。只要我输入“。”整个网站由于某种原因冻结。我无法以这种方式完成验证【参考方案4】:

namecheap.com 现在允许在值字段中使用前导下划线。

如 AWS 文档的 Troubleshoot DNS Validation Problems 中所述,

您可以从 ACM 提供的值中删除下划线,并在没有它的情况下验证您的域。

在你的情况下,价值是:

490287b8f448e2cca3862ebb4a51591.acm-validations.aws。

仍应允许使用尾随点的位置。

【讨论】:

Namecheap 允许在值字段中使用前导下划线,您从哪里获取信息? @JoshuaUgba 使用 Namecheap 我创建了一个带有前导下划线值的 CNAME 记录,它工作得很好,今天已通过 AWS 验证。 @JoshuaUgba 嗯,很高兴知道。也许 Namecheap 最近开始允许他们使用。请参阅docs.aws.amazon.com/acm/latest/userguide/… 和来自答案***.com/a/51208517/7954504 的对话了解背景【参考方案5】:

添加更完整的答案。

一些 DNS 提供商(如 Namecheap)会将 bare domain name 附加到 DNS 记录中。实际上,如果您像这样添加从 Amazon Certificate Manager 提供的完整记录(将 example.com 替换为您的域):

_cff0cda88701846cbe7a34cd737378e2.example.com

你最终会得到的是

_cff0cda88701846cbe7a34cd737378e2.example.com.example.com

要检查是否是这种情况,在添加 DNS 记录后,运行此命令(在 Unix 上)

dig +short _cff0cda88701846cbe7a34cd737378e2.example.com.example.com

如果它返回 CNAME 记录,您必须从 DNS 记录中省略域名,这样您就不会在其中获得重复的域名。然后运行

dig +short _cff0cda88701846cbe7a34cd737378e2.example.com

您应该从中获取相应的 CNAME 记录。验证最多可能需要 48 小时。

【讨论】:

这应该是正确的答案,因为它解释了后台实际发生的情况。谢谢!【参考方案6】:

以上对我有用,除了根域验证;在那里我不得不添加整个字符串 _cff0cda88701846cbe7a34cd737378e2.example.com 而不是 _cff0cda88701846cbe7a34cd737378e2。为要颁发的证书。 对于其他人,_cff0cda88701846cbe7a34cd737378e2.www 就足够了。希望能帮助到你。今天刚做了。

【讨论】:

以上是关于CNAME 条目在使用 Amazon Certificate Manager 的 NameCheap 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何对 Amazon API Gateway 终端节点进行 CNAME

将 Amazon 的 CloudFront 指向 A 记录而不是 CNAME

如何在 Namecheap 为 Amazon S3 设置 CNAME

将CNAME条目添加到裸域

限制对 Amazon S3 URL 的全球访问

必须使用 www 用于使用 Amazon Route53 的 DNS 条目