需要 HTTPS 才能在 CloudFront 與您的自訂原始伺服器之間進行通訊 - Amazon CloudFront

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

需要 HTTPS 才能在 CloudFront 與您的自訂原始伺服器之間進行通訊

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

注意

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

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

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

  2. 在您的原始伺服器安裝 SSL/TLS 憑證 (當您使用 Amazon S3 原始伺服器或其他特定 AWS 原始伺服器時,這不需要)。

自訂原始伺服器需要 HTTPS

下列程序說明如何設定 CloudFront 使用 HTTPS 與 Elastic Load Balancing 負載平衡器、Amazon EC2 執行個體或其他自訂原始伺服器原始伺服器進行通訊。如需使用 CloudFront API 更新分佈的詳細資訊,請參閱 Amazon CloudFront API 參考中的 UpdateDistribution

設定 CloudFront 在 CloudFront 和您的自訂原始伺服器間需使用 HTTPS
  1. 登入 AWS Management Console ,並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

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

  3. 行為索引標籤上,選取您要更新的原始伺服器,然後選擇編輯

  4. 更新下列設定:

    原始伺服器通訊協定政策

    針對您分佈中適用的原始伺服器,變更其 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 交握請求。

  5. 選擇 Save changes (儲存變更)。

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

  7. 您使用生產環境中已更新的組態之前,請先確認以下項目:

    • 每個快取行為中的路徑模式僅適用於您想要檢視器使用 HTTPS 的請求。

    • 以您想要 CloudFront 評估的順序列出快取行為。如需詳細資訊,請參閱 路徑模式

    • 快取行為會將請求轉傳到您已變更其 Origin Protocol Policy (原始伺服器通訊協定政策) 的原始伺服器。

在自訂原始伺服器上安裝 SSL/TLS 憑證

在自訂原始伺服器上,您可以從以下來源使用 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。您無法使用自我簽署憑證進行 CloudFront 和原始伺服器之間的 HTTPS 通訊。

重要

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