

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# AWS Certificate Manager HTTP 验证
<a name="http-validation"></a>

超文本传输协议 (HTTP) 是在万维网上进行数据通信的基础协议。当您为使用的证书选择 HTTP 验证时 CloudFront，ACM 会利用此协议来验证您的域所有权。ACM 与配合使用 CloudFront ，为您提供特定 URL 和唯一令牌，您网域上的该 URL 必须允许访问这些令牌。此令牌可证明您对该域具有控制权。通过在 CloudFront 基础架构中设置从您的域名重定向到 ACM 控制的位置，您可以证明自己有能力修改域上的内容，从而验证您的所有权。ACM 之间的这种无缝集成 CloudFront简化了证书颁发流程，尤其是对于 CloudFront 分发而言。

**重要**  
HTTP 验证不支持通配符域证书（例如 \$1.example.com）。对于通配符证书，必须改用 DNS 验证或电子邮件验证。

例如，如果您使用请求`example.com`域的证书`www.example.com`作为附加名称 CloudFront，ACM 会为您提供两组用 URLs 于 HTTP 验证的证书。每组都包含一个 `redirectFrom` URL 和一个 `redirectTo` URL，专为您的域和 AWS 账户创建。`redirectFrom` URL 是您需要配置的域（例如 `http://example.com/.well-known/pki-validation/example.txt`）上的路径。该 `redirectTo` URL 指向 CloudFront 基础设施中存储唯一验证令牌的 ACM 控制位置。您只需设置这些重定向一次即可。当证书颁发机构尝试验证您的域名所有权时，它将请求来自网址的文件，`redirectFrom`网址会 CloudFront 重定向到`redirectTo`网址，从而允许访问验证令牌。只要证书正在使用并且您的重定向仍然有效，ACM 就会自动 CloudFront 续订您的证书。

使用为完全限定域名 (FQDN) 设置 HTTP 验证后 CloudFront，只要仍存在 HTTP 重定向，您就可以为该 FQDN 申请其他 ACM 证书，而无需重复验证过程。这意味着您可以使用相同的域名创建替换证书。只要重定向仍处于活动状态，您也可以替换已删除的证书，而无需再次进行验证过程。

要停止自动续订 HTTP 验证的证书，您有两个选择。您可以将证书从与其关联的 CloudFront 分配中删除，也可以删除为验证而设置的 HTTP 重定向。如果您使用内容分发网络 (CDN) 或 Web 服务器 CloudFront 来管理重定向，请查阅他们的文档以了解如何删除重定向。如果您使用 CloudFront 管理重定向，则可以通过更新分配的配置来删除重定向。有关托管证书续订的更多信息，请参阅[中的托管证书续订 AWS Certificate Manager](managed-renewal.md)。请记住，停止自动续订可能会导致证书过期，造成您的 HTTPS 流量中断。

## ACM 的 HTTP 重定向的工作原理
<a name="http-redirects-overview"></a>

**注意**  
本部分 CloudFront 适用于使用内容交付和 ACM 进行 SSL/TLS 证书管理的客户。

在 ACM 和中使用 HTTP 验证时 CloudFront，您需要设置 HTTP 重定向。这些重定向允许 ACM 验证您的域名所有权，以便进行初始证书颁发和持续的自动续订。重定向机制的工作原理是将您域上的特定 URL 指向存储唯一验证令牌 CloudFront的基础架构中 ACM 控制的位置。

下表显示了域名的重定向配置示例。请注意，HTTP 验证不支持通配符域（例如 \$1.example.com）。每个配置的**重定向自**-**重定向至**配对用于验证域名所有权。


**HTTP 重定向配置示例**  

| 域名 | 重定向自 | 重定向至 | Comment | 
| --- | --- | --- | --- | 
| example.com |  `http://example.com/.well-known/pki-validation/x2.txt`  |  `https://validation.region.acm-validations.aws/y2/.well-known/pki-validation/x2.txt`  |  Unique  | 
| www.example.com |  `http://www.example.com/.well-known/pki-validation/x3.txt`  | `https://validation.region.acm-validations.aws/y3/.well-known/pki-validation/x3.txt`  |  Unique  | 
| host.example.com |  `http://host.example.com/.well-known/pki-validation/x4.txt`  |  `https://validation.region.acm-validations.aws/y4/.well-known/pki-validation/x4.txt`  |  Unique  | 
| subdomain.example.com |  `http://subdomain.example.com/.well-known/pki-validation/x5.txt`  |  `https://validation.region.acm-validations.aws/y5/.well-known/pki-validation/x5.txt`  |  Unique  | 
| host.subdomain.example.com |  `http://host.subdomain.example.com/.well-known/pki-validation/x6.txt`  |  `https://validation.region.acm-validations.aws/y6/.well-known/pki-validation/x6.txt`  |  Unique  | 

文件名中的*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 验证问题](troubleshooting-HTTP-validation.md)。

当您请求证书并指定 HTTP 验证时，ACM 会提供以下格式的重定向信息：


****  

| 域名 | 重定向自 | 重定向至 | 
| --- | --- | --- | 
| example.com | http://example.com/.well-known/pki-validation/a 79865eb4cd1a6ab990a45779b4e0b96.txt | https://validation。 region.acm-validations.aws/ /.well-known/pki-a424c7224e9b validation/.txt a79865eb4cd1a6ab990a45779b4e0b96 | 

*域名*是与证书关联的 FQDN。*重定向自*是您域上的 URL，ACM 将在其中查找验证文件。*重定向至*是托管实际验证文件的 ACM 控制 URL。

您需要将 Web 服务器或 CloudFront 分发版本配置为将请求从 “重定向自” URL *重定**向到 URL 重定向*。设置此重定向的确切方法取决于您的 Web 服务器软件或 CloudFront 配置。确保重定向设置正确，以允许 ACM 验证您的域所有权并颁发或续订您的证书。

## 设置 HTTP 验证
<a name="setting-up-http-validation"></a>

在颁发用于的公共 SSL/TLS 证书时，ACM 使用 HTTP 验证来验证您的域所有权。 CloudFront此部分介绍如何将公有证书配置为使用 HTTP 验证。<a name="http-validation-console"></a>

**在控制台中设置 HTTP 验证**
**注意**  
此过程假设您已经通过申请了证书， CloudFront 并且您正在创建证书的 AWS 地区工作。HTTP 验证只能通过 “ CloudFront 分发租户” 功能进行。

1. 打开 ACM 控制台，网址为。[https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/)

1. 在证书列表中，请选择要配置的状态为 **Pending validation**（等待验证）的证书的 **Certificate ID**（证书 ID）。此时将打开证书的详细信息页面。

1. 在**域**部分中，您可以看到证书请求中每个域的**重定向自**和**重定向至**值。

1. 对于每个域，设置从**重定向自** URL 到**重定向至** URL 的 HTTP 重定向。你可以通过你的 CloudFront 分发配置来做到这一点。

1. 将您的 CloudFront 分配配置为将请求从 “重**定**向自” URL 重定向到 URL **重定向**。设置此重定向的方法取决于您的 CloudFront 配置。

1. 设置重定向后，ACM 会自动尝试验证您的域所有权。这一过程耗时最多 30 分钟。

如果 ACM 在为您生成重定向值后的 72 小时内无法验证域名，ACM 会将证书状态更改为 **Validation timed out（验证超时）**。导致此结果的最可能原因是您未成功设置 HTTP 重定向。要解决此问题，您必须在查看重定向说明后请求新的证书。

**重要**  
为避免验证问题，请确保**重定向自**位置的内容与**重定向至**位置的内容相匹配。如果遇到问题，请参阅[解决 HTTP 验证问题](troubleshooting-HTTP-validation.md)。

**注意**  
与 DNS 验证不同的是，您无法以编程方式请求 ACM 自动创建您的 HTTP 重定向。您必须通过 CloudFront 分发设置配置这些重定向。

有关 HTTP 验证的工作方式的更多信息，请参阅 [ACM 的 HTTP 重定向的工作原理](#http-redirects-overview)。