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

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

CloudFront 與您的自訂原始伺服器之間的通訊需要 HTTPS

您可以要求 HTTPS 在與原始伺服器 CloudFront 之間進行通訊。

注意

如果您的原始伺服器是設定為網站端點的 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. 選擇儲存變更

  6. 針對您要在自訂原點之間需要 HTTPS 使用 HTTPS 的每個其他來源 CloudFront ,重複步驟 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

從原始伺服器傳回的憑證必須包含下列其中一個網域名稱:

  • 來源的來源網域欄位中的網域名稱 ( CloudFront API 中的DomainName欄位)。

  • 如果快取行為已設定為轉發 Host 標頭至原始伺服器,則為 Host 標頭中的網域名稱。

CloudFront 使用 HTTPS 與您的來源通訊時,請 CloudFront 確認憑證是由受信任的憑證授權單位所簽發。 CloudFront 支援與 Mozilla 相同的憑證授權單位。如需目前的清單,請參閱 Mozilla 內建 CA 憑證清單。您無法使用自我簽署憑證在 CloudFront 與原始伺服器之間進行 HTTPS 通訊。

重要

如果原始伺服器傳回過期的憑證、無效的憑證或自我簽署的憑證,或者原始伺服器以錯誤的順序傳回憑證鏈結, CloudFront 請中斷 TCP 連線,將 HTTP 狀態碼 502 (Bad Gateway) 傳回給檢視器,並將X-Cache標頭設定為Error from cloudfront。此外,如果完整的憑證鏈結 (包括中繼憑證) 不存在, CloudFront 則會中斷 TCP 連線。