AWS Certificate Manager 中处于待处理状态的证书
Posted
技术标签:
【中文标题】AWS Certificate Manager 中处于待处理状态的证书【英文标题】:Certificate in Pending state in AWS Certificate Manager 【发布时间】:2019-04-09 12:34:02 【问题描述】:我们的项目部署在 Elastic Beanstalk 上,我想在 HTTPs 上运行它。我在 AWS Certificate Manager 上创建了我的证书并选择了 DNS 验证选项。我在我的 Godaddy DNS 记录中添加了提供的数据。以下是我的示例数据
Domain Name | Record Name | Record Type | Record Value
example.com | _8046ecb910c52234234234234232ecae.example.com. | CNAME | _81b05686qweerttcxsaxasdadas5a566.tljzshvwok.acm-validations.aws.
*.example.com | _8046ecb910c52234234234234232ecae.example.com. | CNAME | _81b05686qweerttcxsaxasdadas5a566.tljzshvwok.acm-validations.aws.
AWS 为我提供了 example.com 和 *.example.com 的两条记录,但两条记录相同。所以我在 Godaddy DNS 条目中添加了一条 CNAME 记录。我等了三天,我的证书仍然处于挂起状态,最终过期了。我创建了一个新的,我已经等待了 24 小时,它仍处于待处理状态。我不能使用电子邮件验证方法,因为我不是该域的所有者。
【问题讨论】:
【参考方案1】:一个明显常见的错误是将整个主机名粘贴到一个不需要 FQDN 的框中,从而在 DNS 中创建一个实际上看起来像这样的记录(尽管您可能不会在屏幕上以这种方式观察它):
_8046ecb910c52234234234234232ecae.example.com.example.com
对于“主机名”,只需在创建记录时使用_8046ecb910c52234234234234232ecae
。
创建后,使用dig
或nslookup
验证它是否按预期解析。
【讨论】:
我把.
放在我的服务器地址后面。这有什么区别吗。?或者我应该删除服务器地址?
正确答案高度依赖于 DNS 主机的 UI。你试过用dig
查询你的记录吗?要么你得到正确的结果,要么得到错误的结果,要么没有得到任何结果,如何进行取决于你现在拥有什么。在不知道您使用的实际域的情况下,很难进行故障排除。
对不起我的无知。如何为此使用dig
?【参考方案2】:
很长一段时间以来,我在“等待验证”状态下遇到了类似的 AWS 证书问题。经过几次尝试,我终于让它进入“成功”状态。它可能因域名注册商而异,在我的例子中是 NameCheap。
请参阅 AWS ACM 和 NameCheap 的屏幕截图,以按照对我有用的步骤进行操作:
【讨论】:
【参考方案3】:我也遇到了这个问题,等了一天,但仍在等待验证。我在这里遵循了答案,但仍然感到困惑并等待验证,因此我决定逐步分享在 NameCheap 中对我有用的方法。
在 AWS 中:
-
导出 DNS 配置文件。它会有这样的东西。
Domain Name,Record Name,Record Type,Record Value
mysite.io,_beocc4be975f27599f5d77f87af84321.mysite.io.,CNAME,_6ae531c5dad6c5ceeefd65a73d532881.dumrqilasr.acm-validations.aws.
在 NameCheap:
-
选择“域”选项卡 > NameServers - 选择 NameCheap Basic DNS
选择“高级 DNS”选项卡 > 主机记录
在类型下,选择“CNAME 记录”
在主机下,使用“记录名称”中的值。不要包含域名。
_beocc4be975f27599f5d77f87af84321.
-
在值下,使用“记录值”中的值。复制所有内容。
_6ae531c5dad6c5ceeefd65a73d532881.dumrqilasr.acm-validations.aws.
-
在 TTL 下,选择“自动”
点击 TTL 旁边的复选图标保存设置。
在 AWS 中:
-
2-5 分钟后刷新 AWS Certificate Manager。亚马逊状态从 Pending Validation 变为 Issued 只需几分钟。
【讨论】:
它应该只需要几分钟,但有时可能需要一两个小时。我只等了 70 分钟,我的证书就被批准了。【参考方案4】:我需要与@Kai 相同的解决方案 - 必须将 NS 记录添加到主域。但我的情况有点不同:
我正在为我的域使用 AWS Route53 具有不同 AWS 账户中的根域 (example.com.au) 以及我创建证书的帐户中的子域 (subdomain.example.com.au) 因为这一切都在 AWS 中,我只需单击“在 Route 53 中创建记录”按钮即可自动添加验证记录...但证书无法解析 问题:子域没有解析到根域 我是如何找到它的:dig +trace subdomain.example.com.au
应该返回来自.
然后au.
然后com.au.
然后example.com.au.
最后subdomain.example.com.au.
的响应字符串
它没有返回子域记录,这是子域和根域之间的链接不正确的线索。
将子域中的 NS 记录添加为根域上的 CNAME 记录(类似于 Kai 的回答)导致验证几乎立即完成。
【讨论】:
【参考方案5】:我在Freenom 注册的域也有同样的未决问题,因为我忘记将name servers
从AWS Route 53
设置为Freenom
。
来自 AWS Route 53 的名称服务器:
*(ns
表示name server
)
将上面的名称服务器设置为 Freenom:
然后,它被验证为未决。但是,即使我将名称服务器设置为Freenom
,有时也需要很长时间才能进行验证。在这种情况下,我删除请求并在几个小时后再次发出新请求,然后,它被正确验证。
可选地说,我们在GoDaddy
、Namecheap
、Freenow
等域名提供商处注册了域名,那么我们需要将name servers
从AWS Route 53
设置为GoDaddy
、@ 987654338@、Freenow
等等。最后,我们的域将从AWS Certificate Manager
进行验证。
【讨论】:
以上是关于AWS Certificate Manager 中处于待处理状态的证书的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS Opsworks App 上使用在 AWS Certificate Manager 上购买的证书?
AWS Certificate Manager 和 Elastic Beanstalk:创建没有域名的 SSL
AWS Certificate Manager,无法获取子域的 https
将 AWS Certificate Manager(ACM 证书)与 Elastic Beanstalk 一起使用