本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudFront 與您的自訂原始伺服器之間的通訊需要 HTTPS
您可以要求 HTTPS 在與原始伺服器 CloudFront 之間進行通訊。
注意
如果您的原始伺服器是設定為網站端點的 Amazon S3 儲存貯體,則無法設定 CloudFront 為在原始伺服器上使用 HTTPS,因為 Amazon S3 不支援網站端點的 HTTPS。
若要在 CloudFront 與原始伺服器之間要求 HTTPS,請遵循本主題中的程序執行下列作業:
-
在您的分佈中,針對原始伺服器變更其 Origin Protocol Policy (原始伺服器通訊協定政策) 設定。
-
在原始伺服器上安裝 SSL/TLS 憑證 (當您使用 Amazon S3 來源或某些其他來 AWS 源時不需要此憑證)。
自訂來源需要 HTTPS
下列程序說明如何設定 CloudFront 為使用 HTTPS 與 Elastic Load Balancing 負載平衡器、Amazon EC2 執行個體或其他自訂來源通訊。如需使用 CloudFront API 更新分發的相關資訊,請參閱 Amazon CloudFront API 參考UpdateDistribution中的。
設定 CloudFront 為在 CloudFront 與您的自訂原始伺服器之間需要 HTTPS
登入 AWS Management Console 並開啟 CloudFront 主控台,位於https://console.aws.amazon.com/cloudfront/v4/home
。 -
在 CloudFront 主控台的上方窗格中,選擇您要更新之發行版的 ID。
-
在「行為」頁籤上,選取您要更新的原點,然後選擇「編輯」。
-
更新下列設定:
- 原始伺服器通訊協定政策
-
針對您分佈中適用的原始伺服器,變更其 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 交握要求。
-
選擇儲存變更。
-
針對您要在自訂原點之間需要 HTTPS 使用 HTTPS 的每個其他來源 CloudFront ,重複步驟 3 到 5。
-
您使用生產環境中已更新的組態之前,請先確認以下項目:
-
每個快取行為中的路徑模式僅適用於您想要檢視器使用 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 請中斷 TCP 連線,將 HTTP 狀態碼 502 (Bad Gateway) 傳回給檢視器,並將X-Cache
標頭設定為Error from cloudfront
。此外,如果完整的憑證鏈結 (包括中繼憑證) 不存在, CloudFront 則會中斷 TCP 連線。