

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

# 設定備用網域名稱和 HTTPS
<a name="cnames-and-https-procedures"></a>

若要使用URL 中適用於檔案的備用網域名稱，與在檢視器和 CloudFront 之間使用 HTTPS，請執行適用的程序。

**Topics**
+ [取得 SSL/TLS 憑證](#cnames-and-https-getting-certificates)
+ [匯入 SSL/TLS 憑證](#cnames-and-https-uploading-certificates)
+ [更新您的 CloudFront 分佈](#cnames-and-https-updating-cloudfront)

## 取得 SSL/TLS 憑證
<a name="cnames-and-https-getting-certificates"></a>

如果您尚未擁有憑證，請取得一個 SSL/TLS 憑證。如需詳細資訊，請參閱適用的文件：
+ 若要使用 AWS Certificate Manager (ACM) 提供的憑證，請參閱 [AWS Certificate Manager 使用者指南](https://docs.aws.amazon.com/acm/latest/userguide/)。然後跳至 [更新您的 CloudFront 分佈](#cnames-and-https-updating-cloudfront)。
**注意**  
我們建議您使用 ACM 在 AWS 受管資源上佈建、管理和部署 SSL/TLS 憑證。您必須在美國東部 (維吉尼亞北部) 區域請求 ACM 憑證。
+ 若要從第三方憑證授權單位 (CA) 取得憑證，請參閱憑證授權單位提供的文件。當您有憑證時，請繼續進行下一個程序。

## 匯入 SSL/TLS 憑證
<a name="cnames-and-https-uploading-certificates"></a>

如果您從第三方 CA 取得憑證，請將憑證匯入到 ACM 或上傳至 IAM 憑證存放區：

**ACM (推薦)**  
ACM 讓您從 ACM 主控台以及透過程式設計方式匯入第三方憑證。如需將憑證匯入 ACM 的詳細資訊，請參閱 *AWS Certificate Manager 使用者指南*中的[將憑證匯入 AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html)。您必須在美國東部 (維吉尼亞北部) 區域匯入憑證。

**IAM 憑證存放區**  
（不建議） 使用以下 AWS CLI 命令將您的第三方憑證上傳至 IAM 憑證存放區。  

```
aws iam upload-server-certificate \
        --server-certificate-name CertificateName \
        --certificate-body file://public_key_certificate_file \
        --private-key file://privatekey.pem \
        --certificate-chain file://certificate_chain_file \
        --path /cloudfront/path/
```
注意下列事項：  
+ **AWS 帳戶** – 您必須使用用來建立 CloudFront 分佈的相同 AWS 帳戶，將憑證上傳至 IAM 憑證存放區。
+ **--path 參數** – 當您將憑證上傳到 IAM 時，`--path` 參數 (憑證路徑) 的值必須以 `/cloudfront/` 開頭，例如 `/cloudfront/production/` 或 `/cloudfront/test/`。路徑必須以 / 結尾。
+ **現有的憑證** – 您必須指定 `--server-certificate-name` 和 `--path` 參數的值 (不同於與現有憑證相關聯的值)。
+ **使用 CloudFront 主控台** – 您在 中為 `--server-certificate-name` 參數指定的值 AWS CLI，例如 `myServerCertificate`，會出現在 CloudFront 主控台的 **SSL 憑證**清單中。
+ **使用 CloudFront API** – 請記下 AWS CLI 傳回的英數字元字串，例如 `AS1A2M3P4L5E67SIIXR3J`。這是您會在 `IAMCertificateId` 元素中指定的值。您不需要也由 CLI 傳回的 IAM ARN。
如需 的詳細資訊 AWS CLI，請參閱 [AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)和 [AWS CLI 命令參考](https://docs.aws.amazon.com/cli/latest/reference/)。

## 更新您的 CloudFront 分佈
<a name="cnames-and-https-updating-cloudfront"></a>

若要更新分佈的設定，請執行以下程序：<a name="cnames-and-https-updating-cloudfront-procedure"></a>

**設定適用於備用網域名稱的 CloudFront 分佈**

1. 登入 AWS 管理主控台 ，並在 開啟 CloudFront 主控台[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 選擇您希望更新的分佈 ID。

1. 在 **General (一般)** 索引標籤上，選擇 **Edit (編輯)**。

1. 更新下列的值：  
**備用網域名稱 (CNAME)**  
選擇**新增項目**，以新增適用的備用網域名稱。使用逗號區隔網域名稱，或在新的一行輸入每個網域名稱。  
**自訂 SSL 憑證**  
從下拉式清單中選取憑證。  
此處列出高達 100 個憑證。如果您有超過 100 個憑證，而您沒有看到想要新增的憑證，可以在欄位中輸入憑證 ARN 來選取。  
如果您將憑證上傳至 IAM 憑證存放區但它沒有被列出，而您無法在欄位中輸入名稱來選取，請檢閱此程序 [匯入 SSL/TLS 憑證](#cnames-and-https-uploading-certificates) 以確認您是否正確上傳憑證。  
在您把 SSL/TLS 憑證與 CloudFront 分佈相關聯後，請不要從 ACM 或 IAM 憑證存放區刪除憑證，直到您從所有分佈移除憑證且部署所有分佈。

1. 選擇**儲存變更**。

1. 將 CloudFront 設定為在檢視器和 CloudFront 之間請求使用 HTTPS：

   1. 在 **Behaviors (行為)** 索引標籤中，選擇您想要更新的快取行為，然後選擇 **Edit (編輯)**。

   1. 請針對 **Viewer Protocol Policy** (檢視器通訊協定政策) 指定下列其中一個值：  
**重新引導 HTTP 到 HTTPS**  
檢視器可以使用這兩種通訊協定，但會自動重新引導 HTTP 請求到 HTTPS 請求。CloudFront 會傳回 HTTP 狀態碼 `301 (Moved Permanently)` 以及新的 HTTPS URL。然後檢視器使用 HTTPS URL 重新將請求提交到 CloudFront。  
CloudFront 不會從 HTTP 將 `DELETE`、`OPTIONS`、`PATCH`、`POST` 或 `PUT` 請求重新引導到 HTTPS。如果將快取行為設定為重新引導至 HTTPS，則 CloudFront 會以 HTTP 狀態碼 `DELETE`，來回應此快取行為的 HTTP `OPTIONS`、`PATCH`、`POST`、`PUT` 或 `403 (Forbidden)` 請求。
當檢視器執行一個 HTTP 請求供其重新引導到 HTTPS 請求時，CloudFront 會收取這兩個請求的費用。針對 HTTP 請求，只會收取 CloudFront 傳回到檢視器的請求與標頭之費用。針對 HTTPS 請求，會收取該請求與標頭及原始伺服器傳回的檔案之費用。  
**僅限 HTTPS**  
檢視器只能在使用 HTTPS 的情況下存取您的內容。如果檢視器傳送 HTTP 請求，而不是 HTTPS 請求，則 CloudFront 會傳回 HTTP 狀態碼 `403 (Forbidden)`，且不會傳回檔案。

   1. 請選擇 **Yes, Edit (是，編輯)**。

   1. 為每個額外快取行為，供您要在檢視器與 CloudFront 之間使用 HTTPS，請重複執行步驟 a 到 c。

1. 您使用生產環境中已更新的組態之前，請先確認以下項目：
   + 每個快取行為中的路徑模式僅適用於您想要檢視器使用 HTTPS 的請求。
   + 以您想要 CloudFront 評估的順序列出快取行為。如需詳細資訊，請參閱 [路徑模式](DownloadDistValuesCacheBehavior.md#DownloadDistValuesPathPattern)。
   + 快取行為會將請求路由到正確的原始伺服器。