選擇 CloudFront 如何提供 HTTPS 請求 - Amazon CloudFront

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

選擇 CloudFront 如何提供 HTTPS 請求

如果您想要檢視器使用 HTTPS 與使用檔案的備用網域名稱,請選擇以下其中一個選項以決定 CloudFront 如何提供 HTTPS 請求:

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

使用 SNI 提供 HTTPS 請求 (適用於大多數用戶端)

伺服器名稱指示 (SNI) 是 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 延伸。

  2. 當 CloudFront 收到 TLS 用戶端 hello 時,它會使用 SNI 擴充功能中的網域名稱來尋找相符的 CloudFront 分佈,並傳回相關聯的 TLS 憑證。

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

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

關於支援 SNI 的瀏覽器,最新的清單請參閱 Wikipedia 條目 Server Name Indication (伺服器名稱指示)。

如果您想要使用 SNI,但某些使用者的瀏覽器不支援 SNI,則您有幾個選項:

  • 設定 CloudFront 使用專用 IP 地址而不是 SNI,提供 HTTPS 請求。如需詳細資訊,請參閱 使用專用 IP 地址來處理 HTTPS 請求 (適用於所有用戶端)

  • 使用 CloudFront SSL/TLS 憑證,不使用自訂憑證。這需要您在檔案的 URL 中,使用您分佈的 CloudFront 網域名稱,例如,https://d111111abcdef8.cloudfront.net/logo.png

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

    您也必須將 CloudFront 使用的 SSL/TLS 憑證,從自訂憑證變更為預設的 CloudFront 憑證:

    • 如果您尚未使用分佈來分配內容,可以只變更組態。如需詳細資訊,請參閱 更新分佈

    • 如果您已經使用分佈來分配內容,則您必須建立新的 CloudFront 分配和變更檔案的 URL,以降低或消除內容不可用的時間。如需詳細資訊,請參閱 從自訂 SSL/TLS 憑證還原至預設 CloudFront 憑證

  • 如果您可以控制您的使用者使用哪些瀏覽器,請讓他們升級到支援 SNI 的瀏覽器。

  • 使用 HTTP,而非 HTTPS。

使用專用 IP 地址來處理 HTTPS 請求 (適用於所有用戶端)

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

重要

如果您設定 CloudFront 使用專用 IP 地址提供 HTTPS 請求,您需要支付額外的每月費用。當您把 SSL/TLS 憑證與分佈相關聯並啟用此分佈時,即開始收費。如需 CloudFront 定價的詳細資訊,請參閱 Amazon CloudFront 定價。除此之外:請參閱 Using the Same Certificate for Multiple CloudFront Distributions

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

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

  2. 如果用戶端請求在ClientHello訊息中提供 SNI 延伸,CloudFront 會搜尋與該 SNI 相關聯的分佈。

    • 如果有相符項目,CloudFront 會使用 SSL/TLS 憑證回應請求。

    • 如果沒有相符項目,CloudFront 會改用 IP 地址來識別您的分佈,並判斷要傳回給檢視器的 SSL/TLS 憑證。

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

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

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

注意

專用 IPs 不是靜態 IPs而且可能會隨著時間而變更。為節點傳回的 IP 地址會從 CloudFront 節點伺服器清單的 IP 地址範圍動態配置。

CloudFront 邊緣伺服器的 IP 地址範圍可能會有所變更。若要收到 IP 地址變更的通知,請透過 Amazon SNS 訂閱 AWS 公有 IP 地址變更

請求使用三個或更多專用 IP SSL/TLS 憑證的許可

如果您需要三個或多個 SSL/TLS 專用的 IP 憑證與 CloudFront 永久關聯的許可 ,請執行下列程序。如需 HTTPS 請求的詳細資訊,請參閱 選擇 CloudFront 如何提供 HTTPS 請求

注意

此程序用於使用 3 個或多個跨 CloudFront 分佈的專用 IP 憑證時。預設值為 2。請注意,您不可以繫結超過 1 個 SSL 憑證到分佈。

您一次只能將一個 SSL/TLS 憑證與 CloudFront 分佈相關聯。此數字為您可以跨所有 CloudFront 分佈使用的專用 IP SSL 憑證之總和。

請求使用具有一個 CloudFront 分佈的三個或多個憑證之許可
  1. 請前往支援中心並建立案例。

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

  3. 請繼續下一個程序。