

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

# 請求使用 HTTPS 在 CloudFront 與您的 Amazon S3 原始伺服器之間進行通訊
<a name="using-https-cloudfront-to-s3-origin"></a>

當您的原始伺服器是 Amazon S3 bucket 儲存貯體，您能否選擇使用 HTTPS 與 CloudFront 通訊，取決於您使用儲存貯體的方式。如果設定 Amazon S3 儲存貯體為網站端點，則您無法設定 CloudFront 使用 HTTPS 與原始伺服器進行通訊，因為 Amazon S3 在該組態中不支援 HTTPS 連線。

如果您的原始伺服器是支援 HTTPS 通訊的 Amazon S3 儲存貯體，則 CloudFront 會使用檢視器用來提交請求的通訊協定，來將請求轉送到 S3。[通訊協定 (僅限自訂原始伺服器)](DownloadDistValuesOrigin.md#DownloadDistValuesOriginProtocolPolicy) 設定的預設為**比對檢視器**，而且無法變更。不過如果您為 Amazon S3 原始伺服器啟用原始存取控制 (OAC)，CloudFront 和 Amazon S3 之間使用的通訊將取決於您的設定。如需詳細資訊，請參閱[建立新的原始存取控制](private-content-restricting-access-to-s3.md#create-oac-overview-s3)。

如果您要使用 HTTPS 進行 CloudFront 與 Amazon S3 之間的通訊，必須變更 **檢視器通訊協定原則**的值為**重新導向 HTTP 到 HTTPS** 或 **僅限 HTTP**。本節稍後的步驟，說明如何使用 CloudFront 主控台來變更**檢視器通訊協定原則**。如需使用 CloudFront API 來更新分佈 `ViewerProtocolPolicy` 元素的詳細資訊，請參閱 *Amazon CloudFront API 參考*中的 [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)。

當您搭配支援 HTTPS 通訊的 Amazon S3 儲存貯體使用 HTTPS 時，Amazon S3 會提供 SSL/TLS 憑證，您則不需要。

## Amazon S3 原始伺服器需要 HTTPS
<a name="configure-cloudfront-HTTPS-S3-origin"></a>

下列程序示範如何設定 CloudFront，以要求使用 HTTPS 與您的 Amazon S3 原始伺服器通訊。<a name="using-https-cloudfront-to-s3-origin-procedure"></a>

**若要將 CloudFront 設定為請求使用 HTTPS 連線到您的 Amazon S3 原始伺服器**

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

1. 在 CloudFront 主控台的頂端窗格中，請選擇您要更新的分發 ID。

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

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

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

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

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