本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
需要 HTTPS 才能在 CloudFront 與您的自訂原始伺服器之間進行通訊
您可以要求 CloudFront 與自訂原始伺服器之間的通訊使用 HTTPS。
注意
如果您的原始伺服器是設定為網站端點的 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 交握請求。
-
選擇 Save changes (儲存變更)。
-
對於您希望在 CloudFront 和自訂原始伺服器間需要使用 HTTPS 的每一個額外原始伺服器,重複步驟 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 或 Symantec。
從原始伺服器傳回的憑證必須包含下列其中一個網域名稱:
-
原始伺服器的 Origin domain (原始伺服器網域) 欄位 (CloudFront API 中的
DomainName
欄位) 中的網域名稱。 -
如果快取行為已設定為轉發
Host
標頭至原始伺服器,則為Host
標頭中的網域名稱。
當 CloudFront 使用 HTTPS 與您的原始伺服器通訊時,CloudFront 驗證信任憑證授權機構發出的憑證。CloudFront 支援與 Mozilla 相同的憑證授權機構。如需目前的清單,請參閱 Mozilla Included CA Certificate List
重要
如果該原始伺服器傳回過期憑證、無效憑證,或自我簽署憑證,或者,如果原始伺服器傳回順序錯誤的憑證鍊,則 CloudFront 失去 TCP 連線、傳回 HTTP 狀態碼 502 (無效的閘道) 至檢視者,並將 X-Cache
標頭設定為 Error from cloudfront
。此外,若完整的憑證鏈結 (包含中繼憑證) 不存在,CloudFront 便會卸除 TCP 連線。