

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

# 選擇 CloudFront 提供 HTTPS 請求的方式
<a name="cnames-https-dedicated-ip-or-sni"></a>

如果您想要檢視器使用 HTTPS 與使用檔案的備用網域名稱，請選擇以下其中一個選項以決定 CloudFront 如何提供 HTTPS 請求：
+ 使用[伺服器名稱指示 (SNI)](https://en.wikipedia.org/wiki/Server_Name_Indication) – 推薦
+ 在每個節點使用專用的 IP 位址

本節說明每個選項的運作方式。

## 使用 SNI 提供 HTTPS 請求 (適用於大部分用戶端)
<a name="cnames-https-sni"></a>

[伺服器名稱指示 (SNI)](https://en.wikipedia.org/wiki/Server_Name_Indication) 是 TLS 通訊協定的延伸，2010 年之後推出的瀏覽器和用戶端支援此選項。如果設定 CloudFront 使用 SNI 來提供 HTTPS 請求，則 CloudFront 會將您的替代網域名稱，與每個節點中的 IP 位址建立關聯。當檢視器提交內容的 HTTPS 請求時，DNS 會將請求路由到正確節點的 IP 位址。您網域名稱的 IP 位址在 SSL/TLS 交握溝通期間決定；IP 位址並非專用於您的分佈。

SSL/TLS 溝通發生在建立 HTTPS 連線的初期。如果 CloudFront 無法立即判斷請求是針對哪些網域，它就會失去連線。當 SNI 支援的檢視器提交內容的 HTTPS 請求時，情況如下：

1. 檢視器會自動從請求 URL 取得網域名稱，並將其新增至 TLS 用戶端 hello 訊息的 SNI 延伸模組。

1. 當 CloudFront 收到 TLS 用戶端 hello 時，它會使用 SNI 延伸模組中的網域名稱來尋找相符的 CloudFront 分佈，並傳回相關聯的 TLS 憑證。

1. 檢視器和 CloudFront 執行 SSL/TLS 交涉。

1. CloudFront 將請求的內容傳回到檢視器。

關於支援 SNI 的瀏覽器，最新的清單請參閱 Wikipedia 條目 [Server Name Indication](https://en.wikipedia.org/wiki/Server_Name_Indication) (伺服器名稱指示)。

如果您想要使用 SNI，但某些使用者的瀏覽器不支援 SNI，則您有幾個選項：
+ 設定 CloudFront 使用專用 IP 位址而不是 SNI，提供 HTTPS 請求。如需詳細資訊，請參閱 [使用專用 IP 位址提供 HTTPS 請求 (適用於所有用戶端)](#cnames-https-dedicated-ip)。
+ 使用 CloudFront SSL/TLS 憑證，不使用自訂憑證。這需要您在檔案的 URL 中，使用您分佈的 CloudFront 網域名稱，例如，`https://d111111abcdef8.cloudfront.net/logo.png`。

  如果您使用預設 CloudFront 憑證，檢視器必須支援 SSL 協定 TLSv1 或更新版本。 CloudFront 不支援具有預設 CloudFront 憑證的 SSLv3。

  您也必須將 CloudFront 使用的 SSL/TLS 憑證，從自訂憑證變更為預設的 CloudFront 憑證：
  + 如果您尚未使用分佈來分配內容，可以只變更組態。如需詳細資訊，請參閱 [更新分佈](HowToUpdateDistribution.md)。
  + 如果您已經使用分佈來分配內容，則您必須建立新的 CloudFront 分配和變更檔案的 URL，以降低或消除內容不可用的時間。如需詳細資訊，請參閱 [從自訂 SSL/TLS 憑證還原到預設 CloudFront 憑證](cnames-and-https-revert-to-cf-certificate.md)。
+ 如果您可以控制您的使用者使用哪些瀏覽器，請讓他們升級到支援 SNI 的瀏覽器。
+ 使用 HTTP，而非 HTTPS。

## 使用專用 IP 位址提供 HTTPS 請求 (適用於所有用戶端)
<a name="cnames-https-dedicated-ip"></a>

伺服器名稱指示 (SNI) 是將請求關聯至網域的一個方法。另一個方式是使用專用 IP 位址。如果您有使用者無法升級到 2010 年後推出的瀏覽器或用戶端，您可以使用專用 IP 位址來提供 HTTPS 請求。關於支援 SNI 的瀏覽器，最新的清單請參閱 Wikipedia 條目 [Server Name Indication](https://en.wikipedia.org/wiki/Server_Name_Indication) (伺服器名稱指示)。

**重要**  
如果您設定 CloudFront 使用專用 IP 位址提供 HTTPS 請求，您需要支付額外的每月費用。當您把 SSL/TLS 憑證與分佈相關聯並啟用此分佈時，即開始收費。如需 CloudFront 定價的詳細資訊，請參閱 [Amazon CloudFront 定價](https://aws.amazon.com/cloudfront/pricing)。除此之外：請參閱 [Using the Same Certificate for Multiple CloudFront Distributions](cnames-and-https-limits.md#cnames-and-https-same-certificate-multiple-distributions)。

當您設定 CloudFront 為使用專用 IP 位址來提供 HTTPS 請求，CloudFront 會將您的憑證與每個 CloudFront 邊緣節點中的專用 IP 位址建立關聯。當檢視器提交內容的 HTTPS 請求時，情況如下：

1. DNS 將請求路由到適用節點中分佈的 IP 位址。

1. 如果用戶端請求在 `ClientHello` 訊息中提供 SNI 延伸，CloudFront 會搜尋與該 SNI 相關聯的分佈。
   + 如果有相符項目，CloudFront 會使用 SSL/TLS 憑證回應請求。
   + 如果找不到相符項目，CloudFront 將改用 IP 位址識別您的分佈，並判斷要將哪些 SSL/TLS 憑證傳回到檢視器。

1. 檢視器和 CloudFront 使用 SSL/TLS 憑證執行 SSL/TLS 溝通。

1. CloudFront 將請求的內容傳回到檢視器。

這種方式適用於每個 HTTPS 請求，無論使用者使用的是瀏覽器或其他檢視器。

**注意**  
專用 IP 不是靜態 IP，而且可能會隨著時間而變更。為邊緣節點傳回的 IP 位址會從 [CloudFront 邊緣伺服器清單](LocationsOfEdgeServers.md)的 IP 位址範圍動態分配。  
CloudFront 邊緣伺服器的 IP 位址範圍可能變更。若要收到 IP 地址變更的通知，[請透過 Amazon SNS 訂閱 AWS 公有 IP 地址變更](https://aws.amazon.com/blogs/aws/subscribe-to-aws-public-ip-address-changes-via-amazon-sns/)。

## 請求使用三個或更多專用 IP SSL/TLS 憑證的許可
<a name="cnames-and-https-multiple-certificates"></a>

如果您需要三個或多個 SSL/TLS 專用的 IP 憑證與 CloudFront 永久關聯的許可 ，請執行下列程序。如需 HTTPS 請求的詳細資訊，請參閱 [選擇 CloudFront 提供 HTTPS 請求的方式](#cnames-https-dedicated-ip-or-sni)。

**注意**  
此程序用於使用 3 個或多個跨 CloudFront 分佈的專用 IP 憑證時。預設值為 2。請注意，您不可以繫結超過 1 個 SSL 憑證到分佈。  
您一次只能將一個 SSL/TLS 憑證與 CloudFront 分佈相關聯。此數字為您可以跨所有 CloudFront 分佈使用的專用 IP SSL 憑證之總和。<a name="cnames-and-https-multiple-certificates-procedure"></a>

**請求使用具有一個 CloudFront 分佈的三個或多個憑證之許可**

1. 請前往[支援中心](https://console.aws.amazon.com/support/home?#/case/create?issueType=service-limit-increase&limitType=service-code-cloudfront-distributions)並建立案例。

1. 請指出您需要許可才能使用的憑證有多少，以及說明請求中的情況。我們會儘快更新您的帳戶。

1. 請繼續下一個程序。