如何验证 Route 53 的 ACM 证书?
如何验证来自 Amazon Route 53 的 AWS Certificate Manager (ACM) 证书?
简短描述
有两种方法可以验证 ACM 证书的域所有权:
1. DNS 验证
2. 电子邮件验证
当您使用 DNS 验证方式请求 ACM 证书时,ACM 会提供一条 CNAME 记录,您必须将它添加到您的 DNS 配置中。ACM 使用该 CNAME 记录来验证域的所有权。域所有权验证完成后,证书的状态将从待验证变为已颁发。
解决方法
注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时遇到错误,请确保您使用的是最新版的 AWS CLI。
如果您使用 Route 53 作为 ACM 证书中请求的域的 DNS 服务提供者,则可以使用 ACM 控制台中提供的一键式选项创建 CNAME。选择此选项时,该记录将自动添加到域的 Route 53 托管区域中。
但是,如果存在以下任一情况,则必须手动添加 CNAME 记录:
- 同一个域有多个托管区域
- 托管区域位于不同的账户中
顶级域证书请求
确定名称服务器 (NS) 记录
1. 运行以下命令,查找适当托管区域的 DNS 配置。
对于 Linux 和 macOS:
$ dig NS example.com
对于 Windows:
$ nslookup -type=ns example.com
**注意:**将“example.com”替换为您的域名。
2. 上一个命令提供域 DNS 配置的名称服务器 (NS) 记录中包含的名称服务器。将 CNAME 记录添加到 Route 53 托管区域,且该区域具有与输出中的名称服务器相同的 NS 记录。
示例输出:
$ dig example.com NS ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.2 <<>> example.com NS ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56071 ;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;example.com. IN NS ;; ANSWER SECTION: example.com. 300 IN NS ns-1992.awsdns-57.co.uk. example.com. 300 IN NS ns-290.awsdns-36.com. example.com. 300 IN NS ns-547.awsdns-04.net. example.com. 300 IN NS ns-1200.awsdns-22.org.
在 Route 53 中添加 CNAME 记录
使用 NS 值确定适当的托管区域后,将 CNAME 记录添加到该区域:
1. 打开 Route 53 控制台。
2. 导航到域的托管区域。此托管区域必须具有与您在上一任务中确定的名称服务器相同的 NS 记录。
3. 选择 Create Record (创建记录)。
4. 对于 Name (名称),输入 ACM 生成的 CNAME 的 Record Name (记录名称)(不包括域部分)。有关更多信息,请参阅 ACM 的 CNAME 记录的工作原理是什么。
5. 对于 Value (值),输入 ACM 提供的完整 Record Value (记录值)。
6. 对于 Record type (记录类型),选择 CNAME - Routes traffic to another domain name and to some AWS resources (CNAME – 将流量路由到另一域名和部分 AWS 资源)。
7. 对于 Route Policy (路由策略),选择 Simple routing (简单路由)。
8. 选择 Create Records (创建记录)。
验证 CNAME 记录的解析
要确认 CNAME 记录是否已添加到正确的 DNS 配置中,请根据您的用例,运行类似以下内容的命令。
对于 Linux 和 macOS:
dig +short _example-cname.example.com
对于 Windows:
nslookup -type=cname _example-cname.example.com
**注意:**请务必将“example-cname.example.com”替换为您的 ACM CNAME 记录。
如果 CNAME 记录已经添加到正确的 DNS 配置中并成功传播,命令将在输出中返回 CNAME 记录的值。
子域证书请求
如果您的子域具有单独的托管区域:
按照上述步骤执行顶级域证书请求,并在命令中将域名替换为子域以确定子域的 NS 记录。
如果您收到包含 NS 值的输出,请在与输出的 NS 值匹配的子域托管区域中添加 CNAME 记录。
如果您在运行命令后没有收到 NS 记录,请确保在顶级域和子域之间配置了适当的子域委派。为此,请在顶级域的托管区域中创建包含子域 NS 记录的资源记录。有关更多信息,请参阅如何为通过 Route 53 托管的域创建子域?
如果您的子域没有单独的托管区域:
如果子域没有单独的托管区域,请在顶级域的托管区域中添加 CNAME 记录。然后,使用上述顶级域证书请求步骤验证 CNAME 记录是否按预期解析。
**注意:**如果 DNS 配置中最近有更改,您可能会遇到基于 TTL 值的传播延迟。

相关内容
- 已提问 5 个月前lg...
- 已提问 2 个月前lg...
- 已提问 1 个月前lg...
- 已提问 5 个月前lg...
- 已提问 3 个月前lg...
- AWS 官方已更新 3 个月前
- AWS 官方已更新 9 个月前
- AWS 官方已更新 4 年前
- AWS 官方已更新 2 年前