

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Certificate Manager HTTP 驗證
<a name="http-validation"></a>

超文字傳輸通訊協定 (HTTP) 是全球資訊網上資料通訊的基礎通訊協定。當您為與 CloudFront 搭配使用的憑證選擇 HTTP 驗證時，ACM 會利用此通訊協定來驗證您的網域擁有權。ACM 可與 CloudFront 搭配使用，為您提供特定的 URL 和唯一的權杖，該權杖必須在網域上的該 URL 上進行存取。此字符可做為您控制網域的證明。透過設定從網域重新導向至 CloudFront 基礎設施內的 ACM 控制位置，您可以示範修改網域上內容的能力，藉此驗證您的擁有權。ACM 和 CloudFront 之間的無縫整合可簡化憑證發行程序，尤其是 CloudFront 分發。

**重要**  
HTTP 驗證不支援萬用字元網域憑證 （例如 \$1.example.com)。對於萬用字元憑證，您必須改用 DNS 驗證或電子郵件驗證。

例如，如果您使用 CloudFront 為 `example.com` 網域請求憑證`www.example.com`作為額外的名稱，ACM 會為您提供兩組 URLs以進行 HTTP 驗證。每個集合都包含 `redirectFrom` URL 和 `redirectTo` URL，專為您的網域和 AWS 帳戶建立。`redirectFrom` URL 是您網域上需要設定的路徑 （例如 `http://example.com/.well-known/pki-validation/example.txt`)。`redirectTo` URL 指向 CloudFront 基礎設施中存放唯一驗證字符的 ACM 控制位置。您只需要設定這些重新導向一次。當憑證授權機構嘗試驗證您的網域擁有權時，它會從 `redirectFrom` URL 請求檔案，CloudFront 會將該 URL 重新導向至 `redirectTo` URL，以允許存取驗證字符。只要憑證與 CloudFront 搭配使用，且您的重新導向仍然存在，ACM 就會自動續約您的憑證。

使用 CloudFront 為完整網域名稱 (FQDN) 設定 HTTP 驗證後，您可以為該 FQDN 請求額外的 ACM 憑證，而無需重複驗證程序，只要 HTTP 重新導向仍然存在。這表示您可以使用相同的網域名稱建立替代憑證。如果重新導向仍處於作用中狀態，您也可以取代已刪除的憑證，而無需再次進行驗證程序。

若要停止 HTTP 驗證憑證的自動續約，您有兩個選項。您可以從與其相關聯的 CloudFront 分佈中移除憑證，也可以刪除您設定用於驗證的 HTTP 重新導向。如果您使用 CloudFront 以外的內容交付網路 (CDN) 或 Web 伺服器來管理重新導向，請參閱其文件以了解如何移除重新導向。如果您使用 CloudFront 來管理重新導向，您可以透過更新分佈的組態來移除重新導向。如需受管的憑證續約的詳細資訊，請參閱「[中的受管憑證續約 AWS Certificate Manager](managed-renewal.md)」。請記住，停止自動續約可能會導致憑證過期，這可能會中斷您的 HTTPS 流量。

## ACM 的 HTTP 重新導向如何運作
<a name="http-redirects-overview"></a>

**注意**  
本節適用於使用 CloudFront 進行內容交付和 ACM 進行 SSL/TLS 憑證管理的客戶。

搭配 ACM 和 CloudFront 使用 HTTP 驗證時，您需要設定 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`  |  唯一  | 
| 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`  |  唯一  | 
| 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`  |  唯一  | 
| 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`  |  唯一  | 
| 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`  |  唯一  | 

檔案名稱中的 *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/a79865eb4cd1a6ab990a45779b4e0b96.txt | https://validation.region.acm-validations.aws/a424c7224e9b/.well-known/pki-validation/a79865eb4cd1a6ab990a45779b4e0b96.txt | 

*網域名稱*是憑證的相關聯 FQDN。*Redirect From* 是您網域上的 URL，ACM 會在其中尋找驗證檔案。*重新導向至* 是託管實際驗證檔案的 ACM 控制 URL。

您需要設定 Web 伺服器或 CloudFront 分佈，將請求從*重新導向自 URL *重新導向至*重新導向至* URL。設定此重新導向的確切方法取決於您的 Web 伺服器軟體或 CloudFront 組態。確保正確設定重新導向，以允許 ACM 驗證您的網域擁有權，並發行或續約您的憑證。

## 設定 HTTP 驗證
<a name="setting-up-http-validation"></a>

ACM 在發行公有 SSL/TLS 憑證以搭配 CloudFront 使用時，會使用 HTTP 驗證來驗證您的網域擁有權。本節說明如何設定公有憑證以使用 HTTP 驗證。<a name="http-validation-console"></a>

**在主控台中設定 HTTP 驗證**
**注意**  
此程序假設您已透過 CloudFront 請求憑證，而且您正在建立憑證的 AWS 區域中工作。HTTP 驗證只能透過 CloudFront 分佈租用戶功能使用。

1. 前往 [https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/) 開啟 ACM 主控台。

1. 在憑證清單中，選擇具有您想要設定的 **Pending validation（待定驗證）**狀態的憑證之 **Certificate ID（憑證 ID）**。此動作會開啟憑證的詳細資料頁面。

1. 在**網域**區段中，您可以查看憑證請求中每個網域的**重新導向來源**和**重新導向至**值。

1. 對於每個網域，設定從 **URL 重新導向**至 URL 的 HTTP **重新導向**。您可以透過 CloudFront 分佈組態執行此操作。

1. 設定您的 CloudFront 分佈，將請求從**重新導向自 URL **重新導向至**重新導向至** URL。設定此重新導向的方法取決於您的 CloudFront 組態。

1. 設定重新導向之後，ACM 會自動嘗試驗證您的網域擁有權。此程序最多需要 30 分鐘的時間。

如果 ACM 無法在為您產生重新導向值的 72 小時內驗證網域名稱，ACM 會將憑證狀態變更為**驗證逾時**。此結果最可能的原因是您未成功設定 HTTP 重新導向。若要修正此問題，您必須在檢閱重新導向指示後請求新的憑證。

**重要**  
為了避免驗證問題，請確定**重新導向來源**位置的內容與**重新導向至**位置的內容相符。如果您遇到問題，請參閱[故障診斷 HTTP 驗證問題](troubleshooting-HTTP-validation.md)。

**注意**  
與 DNS 驗證不同，您無法以程式設計方式請求 ACM 自動建立 HTTP 重新導向。您必須透過 CloudFront 分佈設定來設定這些重新導向。

如需 HTTP 驗證如何運作的詳細資訊，請參閱 [ACM 的 HTTP 重新導向如何運作](#http-redirects-overview)。