本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Certificate Manager HTTP 验证
超文本传输协议 (HTTP) 是在万维网上进行数据通信的基础协议。当您为 CloudFront 使用的证书选择 HTTP 验证时,ACM 会利用此协议来验证您的域所有权。ACM 与 CloudFront 协作,为您提供一个特定的 URL 和唯一的令牌,您域上的该 URL 必须允许访问此令牌。此令牌可证明您对该域具有控制权。通过在 CloudFront 基础架构中设置从您的域到 ACM 控制的位置的重定向,您可以证明自己有能力修改域上的内容,从而验证您的所有权。ACM 和 CloudFront 之间的这种无缝集成简化了证书颁发流程,尤其是针对 CloudFront 分配。
重要
HTTP 验证不支持通配符域证书(例如 *.example.com)。对于通配符证书,必须改用 DNS 验证或电子邮件验证。
例如,如果您使用 CloudFront example.com 为附加名称为 www.example.com 的域请求证书,则 ACM 为您提供两组 URL 进行 HTTP 验证。每组都包含一个 redirectFrom URL 和一个 redirectTo URL,专为您的域和 AWS 账户创建。redirectFrom URL 是您需要配置的域(例如 http://example.com/.well-known/pki-validation/example.txt)上的路径。redirectTo URL 指向 CloudFront 基础架构中存储唯一验证令牌的 ACM 控制位置。您只需设置这些重定向一次即可。当证书颁发机构尝试验证您的域所有权时,它将从 redirectFrom URL 中请求文件,CloudFront 会将其重定向到 redirectTo URL,从而允许访问验证令牌。只要 CloudFront 正在使用证书,并且重定向仍然存在,ACM 就会自动续订证书。
使用 CloudFront 为完全限定域名 (FQDN) 设置 HTTP 验证后,只要 HTTP 重定向仍然存在,您就可以为该 FQDN 请求额外的 ACM 证书,而不必重复验证过程。这意味着您可以创建具有相同域名的替换证书,或者是覆盖不同子域的证书。由于 HTTP 验证令牌适用于 CloudFront 可用的任何 AWS 区域中,您可以在多个区域中重新创建相同的证书。只要重定向仍处于活动状态,您也可以替换已删除的证书,而无需再次进行验证过程。
要停止自动续订 HTTP 验证的证书,您有两个选择。您可以将证书从与其关联的 CloudFront 分配中移除,也可以删除为验证而设置的 HTTP 重定向。如果您使用 CloudFront 以外的内容分发网络 (CDN) 或 Web 服务器来管理重定向,请查阅其文档了解如何移除重定向。如果您使用 CloudFront 来管理重定向,则可以通过更新分配的配置来移除重定向。有关托管证书续订的更多信息,请参阅中的托管证书续订 AWS Certificate Manager。请记住,停止自动续订可能会导致证书过期,造成您的 HTTPS 流量中断。
ACM 的 HTTP 重定向的工作原理
注意
本部分适用于使用 CloudFront 进行内容交付并使用 ACM 进行 SSL/TLS 证书管理的客户。
在 ACM 和 CloudFront 中使用 HTTP 验证时,您需要设置 HTTP 重定向。这些重定向允许 ACM 验证您的域名所有权,以便进行初始证书颁发和持续的自动续订。重定向机制的工作原理是将您域上的特定 URL 指向 CloudFront 基础架构中存储唯一验证令牌的由 ACM 控制的位置。
下表显示了域名的重定向配置示例。请注意,HTTP 验证不支持通配符域(例如 *.example.com)。每个配置的重定向自-重定向至配对用于验证域名所有权。
| 域名 | 重定向自 | 重定向至 | 注释 |
|---|---|---|---|
| example.com |
|
|
唯一 |
| www.example.com |
|
|
唯一 |
| host.example.com |
|
|
唯一 |
| subdomain.example.com |
|
|
唯一 |
| host.subdomain.example.com |
|
|
唯一 |
文件名中的 xN 值和 ACM 控制的域中的 yN 值是 ACM 生成的唯一标识符。例如,
http://example.com/.well-known/pki-validation/3639ac514e785e898d2646601fa951d5.txt
代表生成的重定向自 URL。关联的重定向至 URL 可能是
https://validation.region.acm-validations.aws/98d2646601fa/.well-known/pki-validation/3639ac514e785e898d2646601fa951d5.txt
用于同一验证记录。
注意
如果您的 Web 服务器或内容分发网络不支持在指定路径上设置重定向,请参阅排查 HTTP 验证问题。
当您请求证书并指定 HTTP 验证时,ACM 会提供以下格式的重定向信息:
| 域名 | 重定向自 | 重定向至 |
|---|---|---|
| example.com | http://example.com/.well-known/pki-validation/a79865eb4cd1a6ab990a45779b4e0b96.txt | https://validation.region.acm-validations.aws/a424c7224e9b/.well-known/pki-validation/a79865eb4cd1a6ab990a45779b4e0b96.txt |
域名是与证书关联的 FQDN。重定向自是您域上的 URL,ACM 将在其中查找验证文件。重定向至是托管实际验证文件的 ACM 控制 URL。
您需要配置 Web 服务器或 CloudFront 分配,以将请求从重定向自 URL 重定向到重定向至 URL。设置此重定向的确切方法取决于您的 Web 服务器软件或 CloudFront 配置。确保重定向设置正确,以允许 ACM 验证您的域所有权并颁发或续订您的证书。
设置 HTTP 验证
在颁发用于 CloudFront 的公有 SSL/TLS 证书时,ACM 使用 HTTP 验证来验证您的域所有权。此部分介绍如何将公有证书配置为使用 HTTP 验证。
在控制台中设置 HTTP 验证
注意
此过程假设您已经通过 CloudFront 请求了一个证书,并且您正在创建证书的 AWS 区域内工作。HTTP 验证只能通过 CloudFront 分配租户功能提供。
-
通过以下网址打开 ACM 控制台:https://console.aws.amazon.com/acm/
。 -
在证书列表中,请选择要配置的状态为 Pending validation(等待验证)的证书的 Certificate ID(证书 ID)。此时将打开证书的详细信息页面。
-
在域部分中,您可以看到证书请求中每个域的重定向自和重定向至值。
-
对于每个域,设置从重定向自 URL 到重定向至 URL 的 HTTP 重定向。您可以通过 CloudFront 分配配置执行此操作。
-
配置 CloudFront 分配,以将请求从重定向自 URL 重定向到重定向至 URL。设置此重定向的方法取决于您的 CloudFront 配置。
-
设置重定向后,ACM 会自动尝试验证您的域所有权。这一过程耗时最多 30 分钟。
如果 ACM 在为您生成重定向值后的 72 小时内无法验证域名,ACM 会将证书状态更改为 Validation timed out(验证超时)。导致此结果的最可能原因是您未成功设置 HTTP 重定向。要解决此问题,您必须在查看重定向说明后请求新的证书。
重要
为避免验证问题,请确保重定向自位置的内容与重定向至位置的内容相匹配。如果遇到问题,请参阅解决 HTTP 验证问题。
注意
与 DNS 验证不同的是,您无法以编程方式请求 ACM 自动创建您的 HTTP 重定向。您必须通过 CloudFront 分配设置配置这些重定向。
有关 HTTP 验证的工作方式的更多信息,请参阅 ACM 的 HTTP 重定向的工作原理。