

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

# 透過 CloudFront 使用 HTTPS
<a name="using-https"></a>

您可以設定 CloudFront 請求檢視器使用 HTTPS，如此當 CloudFront 與檢視器進行通訊時，連線即可加密。您也可以設定 CloudFront 使用 HTTPS 與原始伺服器連線，如此當 CloudFront 與原始伺服器進行通訊時，連線即可加密。

如果您設定 CloudFront 請求 HTTPS 皆與檢視器和原始伺服器通訊，以下是 CloudFront 接收請求時會發生的情況：

1. 檢視器提交一個 HTTPS 請求給 CloudFront。檢視器和 CloudFront 之間有一些 SSL/TLS 溝通。最後，檢視器以加密格式提交請求。

1. 如果 CloudFront 節點包含快取的回應，則 CloudFront 會加密回應，並將其傳回檢視器，由檢視器進行解密。

1. 如果 CloudFront 節點未包含快取的回應，則 CloudFront 會執行與原始伺服器的 SSL/TLS 溝通，當溝通完成時，以加密格式將請求轉傳給原始伺服器。

1. 原始伺服器會解密請求、處理請求 (產生回應)、加密回應，並將回應傳回 CloudFront。

1. CloudFront 會解密回應、重新加密，以及將其轉傳給檢視器。CloudFront 還會在節點快取回應，以便在下次請求時可以使用該回應。

1. 檢視器解密回應。

無論您的原始伺服器是 Amazon S3 儲存貯體、MediaStore 或自訂原始伺服器，例如 HTTP/S 伺服器，程序基本上都以相同的方式運作：

**注意**  
為了協助阻止 SSL 重新交涉類型攻擊，CloudFront 並不支援檢視器和原始伺服器請求的重新交涉。

或者，您可以為 CloudFront 分佈開啟交互身分驗證。如需詳細資訊，請參閱[使用 CloudFront 進行相互 TLS 身分驗證 （檢視器 mTLS)原始伺服器與 CloudFront 的交互 TLS](mtls-authentication.md)。

如需如何在檢視器和 CloudFront 之間，以及在 CloudFront 和原始伺服器之間使用 HTTPS 的相關資訊，請參閱下列主題。

**Topics**
+ [檢視器和 CloudFront 之間需使用 HTTPS](using-https-viewers-to-cloudfront.md)
+ [需要 HTTPS 到自訂原始伺服器](using-https-cloudfront-to-custom-origin.md)
+ [需要 HTTPS 與 Amazon S3 原始伺服器通訊](using-https-cloudfront-to-s3-origin.md)
+ [檢視器和 CloudFront 之間支援的通訊協定和密碼](secure-connections-supported-viewer-protocols-ciphers.md)
+ [CloudFront 和原始伺服器之間支援的通訊協定和密碼](secure-connections-supported-ciphers-cloudfront-to-origin.md)

# 檢視器和 CloudFront 之間的通訊需使用 HTTPS
<a name="using-https-viewers-to-cloudfront"></a>

您可以在 CloudFront 分發中設定一或多個快取行為以獲得檢視器與 CloudFront 之間進行通訊所需的 HTTPS。您也可以設定一或多個快取行為以允許 HTTP 和 HTTPS，以便 CloudFront 為某些物件使用 HTTPS，而非為其他物件。組態步驟取決於您在物件 URL 中使用哪個網域名稱：
+ 如果您使用 CloudFront 指派給分發的網域名稱，例如 d111111abcdef8.cloudfront.net，請您變更一或多個快取行為的 **檢視器通訊協定原則**設定，使用 HTTPS 通訊。在該組態，CloudFront 提供 SSL/TLS 憑證。

  若要使用 CloudFront 主控台來變更 **檢視器通訊協定原則**的值，請參閱本節稍後說明的步驟。

  如需如何使用 CloudFront API 變更 `ViewerProtocolPolicy` 元素值的詳細資訊，請參閱 *Amazon CloudFront API 參考*中的 [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)。
+ 如果您使用自己的網域名稱，如 example.com，則您需要變更多種 CloudFront 設定。您也需要使用 AWS Certificate Manager (ACM) 提供的 SSL/TLS 憑證，或是從第三方憑證授權機構或 IAM 憑證存放區將憑證匯入至 ACM。如需詳細資訊，請參閱 [使用備用網域名稱和 HTTPS](using-https-alternate-domain-names.md)。

**注意**  
如果您想要確保檢視器從 CloudFront 取得的物件是否加密，當 CloudFront 從您的原始伺服器取得他們時，請一律使用 CloudFront 與原始伺服器間的 HTTPS。如果您最近在 CloudFront 與原始伺服器之間從 HTTP 變更到 HTTPS，我們建議您使 CloudFront 節點中的物件失效。CloudFront 會將物件傳回到檢視器，無論檢視器使用的通訊協定 (HTTP 或 HTTPS) 與 CloudFront 用來取得物件的通訊協定是否相符。如需有關移除或替換分佈中物件的詳細資訊，請參閱[新增、移除或取代 CloudFront 分配的內容](AddRemoveReplaceObjects.md)。

## 檢視器需要 HTTPS
<a name="configure-cloudfront-HTTPS-viewers"></a>

若要在一或多個快取行為的檢視器與 CloudFront 之間使用 HTTPS，請執行下列程序。<a name="using-https-viewers-to-cloudfront-procedure"></a>

**若要將 CloudFront 設定為在檢視器與 CloudFront 之間請求使用 HTTPS**

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

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

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

1. 請針對**檢視器通訊協定政策**指定下列其中一個值：  
**重新導向 HTTP 到 HTTPS**  
檢視器可以使用這兩種通訊協定。自動將 HTTP `GET` 和 `HEAD` 請求重新導向到 HTTPS 請求。CloudFront 傳回 HTTP 狀態碼 301 (永久移動) 與新的 HTTPS URL。然後檢視器使用 HTTPS URL 重新將請求提交到 CloudFront。  
如果您使用 HTTP 通過 HTTP 將 `POST`、`PUT`、`DELETE`、`OPTIONS` 或 `PATCH` 傳送到 HTTPS 快取行為和 HTTP 1.1 或更新的請求協定版本，則 CloudFront 請求將重新導向到有 HTTP 狀態碼 307 (暫時重新導向) 的 HTTPS 位置。這可確保再次將請求傳送到使用相同方法與內容承載的新位置。  
如果您通過 HTTP 將 `POST`、`PUT`、`DELETE`、`OPTIONS` 或 `PATCH` 請求傳送到具有請求通訊版本低於 HTTP 1.1 的 HTTPS，則 CloudFront 會傳回 HTTP 狀態碼 403 (禁止)。
當檢視器執行一個 HTTP 請求供其重新導向到 HTTPS 請求時，CloudFront 會收取這兩個請求的費用。針對 HTTP 請求，只會收取 CloudFront 傳回到檢視器的請求與標頭之費用。針對 HTTPS 請求，會收取該請求與原始伺服器傳回的標頭及物件之費用。  
**僅限 HTTPS**  
檢視器只能在使用 HTTPS 的情況下存取您的內容。如果檢視器傳送 HTTP 請求，而不是 HTTPS 請求，則 CloudFront 傳回 HTTP 狀態碼 403 (禁止)，且不會傳回物件。

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

1. 對於您希望在檢視器和 CloudFront 間需要使用 HTTPS 的每一個額外快取行為，重複步驟 3 至 5。

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

# 要求 CloudFront 與自訂原始伺服器之間的通訊使用 HTTPS
<a name="using-https-cloudfront-to-custom-origin"></a>

您可以要求 CloudFront 與自訂原始伺服器之間的通訊使用 HTTPS。

**注意**  
如果您的原始伺服器是設定為網站端點的 Amazon S3 儲存貯體，則無法設定 CloudFront 使用 HTTPS 來與原始伺服器通訊，因為 Amazon S3 不支援網站端點的 HTTPS。

若要在 CloudFront 與原始伺服器之間要求使用 HTTPS，請依照本主題中的程序執行下列步驟：

1. 在您的分佈中，針對原始伺服器變更其 **Origin Protocol Policy** (原始伺服器通訊協定政策) 設定。

1. 在您的原始伺服器安裝 SSL/TLS 憑證 （當您使用 Amazon S3 原始伺服器或其他特定 AWS 原始伺服器時，不需要此操作）。

**Topics**
+ [自訂原始伺服器需要 HTTPS](#using-https-cloudfront-to-origin-distribution-setting)
+ [在您的自訂原始伺服器上安裝 SSL/TLS 憑證](#using-https-cloudfront-to-origin-certificate)

## 自訂原始伺服器需要 HTTPS
<a name="using-https-cloudfront-to-origin-distribution-setting"></a>

下列程序說明如何設定 CloudFront 使用 HTTPS 與 Elastic Load Balancing 負載平衡器、Amazon EC2 執行個體或其他自訂原始伺服器原始伺服器進行通訊。如需使用 CloudFront API 更新分佈的詳細資訊，請參閱 *Amazon CloudFront API 參考*中的 [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html)。<a name="using-https-cloudfront-to-custom-origin-procedure"></a>

**設定 CloudFront 在 CloudFront 和您的自訂原始伺服器間需使用 HTTPS**

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

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

1. 在**行為**索引標籤中，選擇您要更新的原始伺服器，然後選擇**編輯**。

1. 更新下列設定：  
**原始伺服器通訊協定政策**  
針對您分佈中適用的原始伺服器，變更其 **Origin Protocol Policy (原始伺服器通訊協定政策)**：  
   + **僅限 HTTPS** – CloudFront 只會使用 HTTPS 來和自訂原始伺服器進行通訊。
   + **比對檢視器** – CloudFront 會根據檢視器請求的通訊協定，使用 HTTP 或 HTTPS 與您的原始伺服器進行通訊。例如，如果您為**原始伺服器通訊協定原則**選擇**比對檢視器**，且檢視器使用 HTTPS 從 CloudFront 要求一個物件，則 CloudFront 也使用 HTTPS 將請求轉送到原始伺服器。

     只有針對 **Viewer Protocol Policy (檢視器通訊協定政策)** 指定 **Redirect HTTP to HTTPS (將 HTTP 重新導向至 HTTPS)** 或 **HTTPS Only (僅限 HTTPS)** 時，才能選擇 **Match Viewer (配合檢視器)**。

     請注意 CloudFront 僅會在檢視器使用 HTTP 和 HTTPS 協定發出請求時，快取物件一次。  
**原始伺服器 SSL 通訊協定**  
針對分佈中適用的原始伺服器，選擇 **Origin SSL Protocols (原始伺服器 SSL 通訊協定)**。SSLv3 通訊協定較不安全，因此我們建議您只有在原始伺服器不支援 TLSv1 或新版本時，選擇 SSLv3。TLSv1 交握與 SSLv3 有回溯相容與正向相容，但 TLSv1.1 和後續版本則無。當您選擇 SSLv3 時，CloudFront *只會*傳送 SSLv3 交握請求。

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

1. 對於您希望在 CloudFront 和自訂原始伺服器間需要使用 HTTPS 的每一個額外原始伺服器，重複步驟 3 至 5。

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

## 在您的自訂原始伺服器上安裝 SSL/TLS 憑證
<a name="using-https-cloudfront-to-origin-certificate"></a>

在自訂原始伺服器上，您可以從以下來源使用 SSL/TLS 憑證：
+ 如果您的原始伺服器是 Elastic Load Balancing 負載平衡器，則可以使用 AWS Certificate Manager (ACM) 提供的憑證。您也可以使用信任第三方憑證授權單位簽署的憑證並匯入 ACM。
+ 針對 Elastic Load Balancing 負載平衡器以外的原始伺服器，您必須使用信任第三方憑證授權機構 (CA) 簽署的憑證，例如 Comodo、DigiCert 或 Symantec。

從原始伺服器傳回的憑證必須包含下列其中一個網域名稱：
+ 原始伺服器的 **Origin domain** (原始伺服器網域) 欄位 (CloudFront API 中的 `DomainName` 欄位) 中的網域名稱。
+ 如果快取行為已設定為轉發 `Host` 標頭至原始伺服器，則為 `Host` 標頭中的網域名稱。

當 CloudFront 使用 HTTPS 與您的原始伺服器通訊時，CloudFront 驗證信任憑證授權機構發出的憑證。CloudFront 支援與 Mozilla 相同的憑證授權機構。如需目前的清單，請參閱 [Mozilla Included CA Certificate List](https://wiki.mozilla.org/CA/Included_Certificates)。您無法使用自我簽署憑證進行 CloudFront 和原始伺服器之間的 HTTPS 通訊。

**重要**  
如果該原始伺服器傳回過期憑證、無效憑證，或自我簽署憑證，或者，如果原始伺服器傳回順序錯誤的憑證鍊，則 CloudFront 失去 TCP 連線、傳回 HTTP 狀態碼 502 (無效的閘道) 至檢視者，並將 `X-Cache` 標頭設定為 `Error from cloudfront`。此外，若完整的憑證鏈結 (包含中繼憑證) 不存在，CloudFront 便會卸除 TCP 連線。

# 請求使用 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)。
   + 快取行為會將請求路由到正確的原始伺服器。

# 檢視器和 CloudFront 之間支援的通訊協定和密碼
<a name="secure-connections-supported-viewer-protocols-ciphers"></a>

當您[在檢視器和 CloudFront 分佈之間請求 HTTPS 時](DownloadDistValuesCacheBehavior.md#DownloadDistValuesViewerProtocolPolicy)，您必須選擇[安全性政策](DownloadDistValuesGeneral.md#DownloadDistValues-security-policy)，以決定下列設定。
+ CloudFront 用來與檢視者通訊的最低 SSL/TLS 通訊協定。
+ CloudFront 可用來加密與檢視器通訊的密碼。

若要選擇安全政策，請指定適用於 [安全政策 (最低 SSL/TLS 版本)](DownloadDistValuesGeneral.md#DownloadDistValues-security-policy) 的適用值。下表列出 CloudFront 可以用於每個安全原則的協定與密碼。

檢視器必須支援至少一個受支援的密碼，建立與 CloudFront 的 HTTPS 連線。CloudFront 從檢視器支援的密碼中依列出的順序選擇密碼。另請參閱[OpenSSL、S2n 和 RFC 密碼名稱](#secure-connections-openssl-rfc-cipher-names)。


|  | 安全政策 |  | SSLv3 | TLSv1 | TLSv1\$12016 | TLSv1.1\$12016 | TLSv1.2\$12018 | TLSv1.2\$12019 | TLSv1.2\$12021 | TLSv1.2\$12025 | TLSv1.3\$12025 | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| 支援的 SSL/TLS 通訊協定 | 
| TLSv1.3 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLSv1.2 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  | 
| TLSv1.1 | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| TLSv1 | ♦ | ♦ | ♦ |  |  |  |  |  |  | 
| SSLv3 | ♦ |  |  |  |  |  |  |  |  | 
| 支援的 TLSv1.3 密碼 | 
| TLS\$1AES\$1128\$1GCM\$1SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1AES\$1256\$1GCM\$1SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1CHACHA20\$1POLY1305\$1SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  | ♦ | 
| 支援的 ECDSA 密碼 | 
| ECDHE-ECDSA-AES128-GCM-SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  | 
| ECDHE-ECDSA-AES128-SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  | 
| ECDHE-ECDSA-AES128-SHA | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| ECDHE-ECDSA-AES256-GCM-SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  | 
| ECDHE-ECDSA-CHACHA20-POLY1305 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  | 
| ECDHE-ECDSA-AES256-SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  | 
| ECDHE-ECDSA-AES256-SHA | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| 支援的 RSA 密碼 | 
| ECDHE-RSA-AES128-GCM-SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  | 
| ECDHE-RSA-AES128-SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  | 
| ECDHE-RSA-AES128-SHA | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| ECDHE-RSA-AES256-GCM-SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  | 
| ECDHE-RSA-CHACHA20-POLY1305 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  | 
| ECDHE-RSA-AES256-SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  | 
| ECDHE-RSA-AES256-SHA | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| AES128-GCM-SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  |  | 
| AES256-GCM-SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  |  | 
| AES128-SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ |  |  |  |  | 
| AES256-SHA | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| AES128-SHA | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| DES-CBC3-SHA | ♦ | ♦ |  |  |  |  |  |  |  | 
| RC4-MD5 | ♦ |  |  |  |  |  |  |  |  | 

## OpenSSL、S2n 和 RFC 密碼名稱
<a name="secure-connections-openssl-rfc-cipher-names"></a>

penSSL and [s2n](https://github.com/awslabs/s2n) 會使用與 TLS 標準不同的密碼名稱 ([RFC 2246](https://tools.ietf.org/html/rfc2246)、[RFC 4346](https://tools.ietf.org/html/rfc4346)、[RFC 5246](https://tools.ietf.org/html/rfc5246) 和 [RFC 8446](https://tools.ietf.org/html/rfc8446))。下表將 OpenSSL 和 s2n 名稱對應到每個密碼的 RFC 名稱。

CloudFront 支援傳統和量子安全金鑰交換。對於使用橢圓曲線的傳統金鑰交換，CloudFront 支援下列項目：
+ `prime256v1`
+ `X25519`
+ `secp384r1`

對於保護量子的金鑰交換，CloudFront 支援下列項目：
+ `X25519MLKEM768`
+ `SecP256r1MLKEM768`
**注意**  
TLS 1.3 僅支援 Quantum 安全金鑰交換。TLS 1.2 和舊版不支援規定人數安全金鑰交換。

  如需詳細資訊，請參閱下列主題：
  + [後量子密碼學](https://aws.amazon.com/security/post-quantum-cryptography/)
  + [密碼編譯演算法和 AWS 服務](https://docs.aws.amazon.com/prescriptive-guidance/latest/encryption-best-practices/aws-cryptography-services.html#algorithms)
  + [TLS 1.3 中的混合金鑰交換](https://datatracker.ietf.org/doc/draft-ietf-tls-hybrid-design/)

如需 CloudFront 憑證需求的詳細資訊，請參閱 [與 CloudFront 搭配使用 SSL/TLS 憑證的要求](cnames-and-https-requirements.md)。


| OpenSSL 和 s2n 密碼名稱 | RFC 密碼名稱 | 
| --- | --- | 
| 支援的 TLSv1.3 密碼 | 
| TLS\$1AES\$1128\$1GCM\$1SHA256 | TLS\$1AES\$1128\$1GCM\$1SHA256 | 
| TLS\$1AES\$1256\$1GCM\$1SHA384 | TLS\$1AES\$1256\$1GCM\$1SHA384 | 
| TLS\$1CHACHA20\$1POLY1305\$1SHA256 | TLS\$1CHACHA20\$1POLY1305\$1SHA256 | 
| 支援的 ECDSA 密碼 | 
| ECDHE-ECDSA-AES128-GCM-SHA256 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 | 
| ECDHE-ECDSA-AES128-SHA256 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 | 
| ECDHE-ECDSA-AES128-SHA | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 
| ECDHE-ECDSA-AES256-GCM-SHA384 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 
| ECDHE-ECDSA-CHACHA20-POLY1305 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1CHACHA20\$1POLY1305\$1SHA256 | 
| ECDHE-ECDSA-AES256-SHA384 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 | 
| ECDHE-ECDSA-AES256-SHA | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 
| 支援的 RSA 密碼 | 
| ECDHE-RSA-AES128-GCM-SHA256 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 | 
| ECDHE-RSA-AES128-SHA256 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256  | 
| ECDHE-RSA-AES128-SHA | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 
| ECDHE-RSA-AES256-GCM-SHA384 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384  | 
| ECDHE-RSA-CHACHA20-POLY1305 | TLS\$1ECDHE\$1RSA\$1WITH\$1CHACHA20\$1POLY1305\$1SHA256 | 
| ECDHE-RSA-AES256-SHA384 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384  | 
| ECDHE-RSA-AES256-SHA | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 
| AES128-GCM-SHA256 | TLS\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 | 
| AES256-GCM-SHA384 | TLS\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 
| AES128-SHA256 | TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 | 
| AES256-SHA | TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 
| AES128-SHA | TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 
| DES-CBC3-SHA  | TLS\$1RSA\$1WITH\$13DES\$1EDE\$1CBC\$1SHA  | 
| RC4-MD5 | TLS\$1RSA\$1WITH\$1RC4\$1128\$1MD5 | 

## 檢視器和檢視器之間支援的簽名結構描述和 CloudFront
<a name="secure-connections-viewer-signature-schemes"></a>

CloudFront 支援下列簽名結構描述，用於與檢視器之間的連結和 CloudFront。


|  | 安全政策 | 簽章結構描述 | SSLv3 | TLSv1 | TLSv1\$12016 | TLSv1.1\$12016 | TLSv1.2\$12018 | TLSv1.2\$12019 |  TLSv1.2\$12021 | TLSv1.2\$12025 | TLSv1.3\$12025 | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PSS\$1PSS\$1SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PSS\$1PSS\$1SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PSS\$1PSS\$1SHA512 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PSS\$1RSAE\$1SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PSS\$1RSAE\$1SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PSS\$1RSAE\$1SHA512 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA512 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA224 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  | 
| TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA512 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA224 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ |  |  | 
| TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SECP256R1\$1SHA256 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SECP384R1\$1SHA384 | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | ♦ | 
| TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA1 | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 
| TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA1 | ♦ | ♦ | ♦ | ♦ |  |  |  |  |  | 

# CloudFront 和原始伺服器之間支援的通訊協定和密碼
<a name="secure-connections-supported-ciphers-cloudfront-to-origin"></a>

如果您選擇[請求在 CloudFront 與原始伺服器之間使用 HTTPS](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginProtocolPolicy)，則可以決定[允許使用哪種 SSL/TLS 通訊協定](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols)來進行安全的連線，然後 CloudFront 可以使用下方表格中列出的任何 ECDSA 或 RSA 密碼，連線至原始伺服器。您的原始伺服器必須支援至少一種 CloudFront 密碼，才能建立與原始伺服器的 HTTPS 連線。

penSSL and [s2n](https://github.com/awslabs/s2n) 會使用與 TLS 標準不同的密碼名稱 ([RFC 2246](https://tools.ietf.org/html/rfc2246)、[RFC 4346](https://tools.ietf.org/html/rfc4346)、[RFC 5246](https://tools.ietf.org/html/rfc5246) 和 [RFC 8446](https://tools.ietf.org/html/rfc8446))。下表將包含每種密碼的 OpenSSL 和 s2n 名稱以及 RFC 名稱。

對於具有橢圓曲線金鑰交換演算法的密碼，CloudFront 支援下列橢圓曲線：
+ prime256v1
+ secp384r1
+ X25519


| OpenSSL 和 s2n 密碼名稱 | RFC 密碼名稱 | 
| --- | --- | 
| 支援的 ECDSA 密碼 | 
| ECDHE-ECDSA-AES256-GCM-SHA384 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 
| ECDHE-ECDSA-AES256-SHA384 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 | 
| ECDHE-ECDSA-AES256-SHA | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 
| ECDHE-ECDSA-AES128-GCM-SHA256 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 | 
| ECDHE-ECDSA-AES128-SHA256 | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 | 
| ECDHE-ECDSA-AES128-SHA | TLS\$1ECDHE\$1ECDSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 
| 支援的 RSA 密碼 | 
| ECDHE-RSA-AES256-GCM-SHA384 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1GCM\$1SHA384 | 
| ECDHE-RSA-AES256-SHA384 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA384 | 
| ECDHE-RSA-AES256-SHA | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 
| ECDHE-RSA-AES128-GCM-SHA256 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1GCM\$1SHA256 | 
| ECDHE-RSA-AES128-SHA256 | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA256 | 
| ECDHE-RSA-AES128-SHA | TLS\$1ECDHE\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 
| AES256-SHA | TLS\$1RSA\$1WITH\$1AES\$1256\$1CBC\$1SHA | 
| AES128-SHA | TLS\$1RSA\$1WITH\$1AES\$1128\$1CBC\$1SHA | 
| DES-CBC3-SHA | TLS\$1RSA\$1WITH\$13DES\$1EDE\$1CBC\$1SHA | 
| RC4-MD5 | TLS\$1RSA\$1WITH\$1RC4\$1128\$1MD5 | 

**CloudFront 與原始伺服器之間支援的簽名方案**

CloudFront 支援下列簽署設定，用於 CloudFront 和原始伺服器之間的連線。
+ TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA256
+ TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA384
+ TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA512
+ TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA224
+ TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA256
+ TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA384
+ TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA512
+ TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA224
+ TLS\$1SIGNATURE\$1SCHEME\$1RSA\$1PKCS1\$1SHA1
+ TLS\$1SIGNATURE\$1SCHEME\$1ECDSA\$1SHA1