要求使用 HTTPS 才能在檢視者和 CloudFront - Amazon CloudFront

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

要求使用 HTTPS 才能在檢視者和 CloudFront

您可以在 CloudFront 發行版中設定一或多個快取行為,使其在檢視器和 CloudFront. 您也可以設定一或多個快取行為,以允許 HTTP 和 HTTPS,如此一來,某些物件 CloudFront 需要 HTTPS,但其他物件則不需要 HTTPS。組態步驟取決於您在物件 URL 中使用哪個網域名稱:

  • 如果您使用 CloudFront 指派給分發的網域名稱,例如 d1111abcdef8.cloudfront.net,您可以變更一或多個快取行為的檢視器通訊協定原則設定,以需要進行 HTTPS 通訊。在該組態中,CloudFront 提供 SSL/TLS 憑證。

    若要使用 CloudFront 主控台變更檢視器通訊協定原則的值,請參閱本節稍後的程序。

    如需如何使用 CloudFront API 變更ViewerProtocolPolicy元素值的詳細資訊,請參閱 Amazon CloudFront API 參考UpdateDistribution中的。

  • 如果您使用自己的網域名稱,例如 example.com,則需要變更數個 CloudFront設定。您也需要使用 AWS Certificate Manager (ACM) 提供的 SSL/TLS 憑證,或是從第三方憑證授權機構或 IAM 憑證存放區將憑證匯入至 ACM。如需詳細資訊,請參閱 使用備用網域名稱和 HTTPS

注意

如果您想確保檢視者從中取得的物件在從您的 CloudFront 來源取 CloudFront 得物件時已加密,請務必在 CloudFront 與原始伺服器之間使用 HTTPS。如果您最近在 CloudFront 和原始位置之間從 HTTP 變更為 HTTPS,建議您將 CloudFront 邊緣位置中的物件無效。 CloudFront 無論檢視器 (HTTP 或 HTTPS) 使用的通訊協定是否符合用來取得物件的通訊協定,都會將物件傳回給檢視器。 CloudFront 如需有關移除或替換分佈中物件的詳細資訊,請參閱新增、移除或取代 CloudFront散佈的內容

若要在檢視器之間需要 HTTPS,以及 CloudFront 一或多個快取行為,請執行下列程序。

若要設定 CloudFront 為在檢視者之間需要 HTTPS 和 CloudFront
  1. 登入 AWS Management Console 並開啟 CloudFront 主控台,位於https://console.aws.amazon.com/cloudfront/v4/home

  2. 在 CloudFront 主控台的上方窗格中,選擇您要更新之發行版的 ID。

  3. 在 [行為] 索引標籤上,選取您要更新的快取行為,然後選擇 [編輯]。

  4. 檢視器通訊協定原則指定下列其中一個值:

    重新導向 HTTP 到 HTTPS

    檢視器可以使用這兩種通訊協定。HTTP GETHEAD要求會自動重新導向至 HTTPS 要求。 CloudFront 返回 HTTP 狀態碼 301(永久移動)以及新的 HTTPS 網址。檢視器接著會 CloudFront 使用 HTTPS URL 將要求重新提交至。

    重要

    如果您透PATCH過 HTTP 至 HTTPS 快取行為和 HTTP 1.1 或更新版本的要求通訊協定版本傳送POST、、或透過 HTTP 傳送、、或透過 HTTP,請將要求重新導 CloudFront 向至具有 HTTP 狀態碼 307 (暫時重新導向) 的 HTTPS 位置。PUT DELETE OPTIONS這可確保再次將請求傳送到使用相同方法與內容承載的新位置。

    如果您使用低於 HTTP 1.1 的要PATCH求通訊協定版本OPTIONS,透過 HTTP 傳送POST、、、或要求至 HTTPS 快取行為,則會傳 CloudFront 回 HTTP 狀態碼 403 (禁止)。PUT DELETE

    當檢視者發出重新導向至 HTTPS 要求的 HTTP 要求時,兩個要求都會 CloudFront收取費用。對於 HTTP 請求,費用僅適用於請求以及 CloudFront 返回給檢視器的標頭。針對 HTTPS 請求,會收取該請求與原始伺服器傳回的標頭及物件之費用。

    僅限使用 HTTPS

    檢視器只能在使用 HTTPS 的情況下存取您的內容。如果檢視器傳送 HTTP 要求而非 HTTPS 要求,則會傳 CloudFront 回 HTTP 狀態碼 403 (禁止),而且不會傳回物件。

  5. 選擇儲存變更

  6. 針對您想要在檢視器和檢視器之間需要 HTTPS 的每個額外快取行為,重複步驟 3 到 5 CloudFront。

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

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

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

    • 快取行為會將請求路由到正確的原始伺服器。