設定替代網域名稱和 HTTPS - Amazon CloudFront

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

設定替代網域名稱和 HTTPS

若要在 中使用替代網域名稱URLs作為您的檔案,並在檢視器和 HTTPS之間使用 CloudFront,請執行適用的程序。

取得 SSL/TLS 憑證

如果您還沒有 SSL/TLS 憑證,請取得 / 憑證。如需詳細資訊,請參閱適用的文件:

  • 若要使用 AWS Certificate Manager (ACM) 提供的憑證,請參閱 AWS Certificate Manager 使用者指南 。然後跳至 更新您的 CloudFront 分佈

    注意

    建議您使用 ACM來佈建、管理和部署 AWS 受管資源上的 SSL/TLS 憑證。您必須在美國東部 (維吉尼亞北部) 區域請求ACM憑證。

  • 若要從第三方憑證授權單位 (CA) 取得憑證,請參閱憑證授權單位提供的文件。當您有憑證時,請繼續進行下一個程序。

匯入 SSL/TLS 憑證

如果您從第三方 CA 取得憑證,請將憑證匯入 ACM 或上傳至IAM憑證存放區:

ACM (建議)

ACM 可讓您從ACM主控台以程式設計方式匯入第三方憑證。如需將憑證匯入 的資訊ACM,請參閱 使用者指南 中的將憑證匯入 AWS Certificate ManagerAWS Certificate Manager 您必須在美國東部 (維吉尼亞北部) 區域匯入憑證。

IAM 憑證存放區

(不建議) 使用以下 AWS CLI 命令將您的第三方憑證上傳至IAM憑證存放區。

aws iam upload-server-certificate \ --server-certificate-name CertificateName \ --certificate-body file://public_key_certificate_file \ --private-key file://privatekey.pem \ --certificate-chain file://certificate_chain_file \ --path /cloudfront/path/

注意下列事項:

  • AWS 帳戶 – 您必須使用用來建立 CloudFront 分發的相同 AWS 帳戶,將憑證上傳到IAM憑證存放區。

  • --path 參數 – 當您將憑證上傳至 時IAM,--path參數 (憑證路徑) 的值必須以 開頭/cloudfront/,例如 /cloudfront/production//cloudfront/test/。路徑必須以 / 結尾。

  • 現有的憑證 – 您必須指定 --server-certificate-name--path 參數的值 (不同於與現有憑證相關聯的值)。

  • 使用 CloudFront 主控台 – 您在 中為 --server-certificate-name 參數指定的值, AWS CLI例如 myServerCertificate,會出現在主控台的 CloudFrontSSL憑證清單中。

  • 使用 CloudFront API – 記下 AWS CLI 傳回的英數字串,例如 AS1A2M3P4L5E67SIIXR3J。這是您會在 IAMCertificateId 元素中指定的值。您不需要 IAM ARN,這也由 傳回CLI。

如需 的詳細資訊 AWS CLI,請參閱 AWS Command Line Interface 使用者指南AWS CLI 命令參考

更新您的 CloudFront 分佈

若要更新分佈的設定,請執行以下程序:

設定替代網域名稱的 CloudFront 分佈
  1. 登入 AWS Management Console 並在 開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home

  2. 選擇您希望更新的分佈 ID。

  3. General (一般) 索引標籤上,選擇 Edit (編輯)

  4. 更新下列的值:

    替代網域名稱 (CNAME)

    選擇新增項目以新增適用的替代網域名稱。使用逗號區隔網域名稱,或在新的一行輸入每個網域名稱。

    自訂SSL憑證

    從下拉式清單中選取憑證。

    此處列出高達 100 個憑證。如果您有超過 100 個憑證,但看不到要新增的憑證,您可以在ARN欄位中輸入憑證以進行選擇。

    如果您將憑證上傳到IAM憑證存放區,但未列出,而且您無法在欄位中輸入名稱來選擇憑證存放區,請檢閱程序匯入 SSL/TLS 憑證以確認您已正確上傳憑證。

    重要

    將 SSL/TLS 憑證與CloudFront 分發建立關聯後,在您從所有分發中移除憑證並部署所有分發之前,請勿從 ACM或IAM憑證存放區刪除憑證。

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

  6. CloudFront 將 設定為在檢視器與 HTTPS之間要求 CloudFront:

    1. Behaviors (行為) 索引標籤中,選擇您想要更新的快取行為,然後選擇 Edit (編輯)

    2. 請針對 Viewer Protocol Policy (檢視器通訊協定政策) 指定下列其中一個值:

      重新導向HTTP至 HTTPS

      檢視器可以使用兩種通訊協定,但HTTP請求會自動重新導向至HTTPS請求。 CloudFront 會傳回HTTP狀態碼301 (Moved Permanently)以及新的 HTTPS URL。然後,檢視器 CloudFront 會使用 將請求重新提交至 HTTPS URL。

      重要

      CloudFront 不會將 DELETEOPTIONSPOSTPATCHPUT請求從 重新導向HTTP至 HTTPS。如果您將快取行為設定為重新導向至 HTTPS, 會 CloudFront 回應 HTTP DELETEOPTIONSPATCHPOST、 或 HTTP 狀態碼為 的快取行為PUT請求403 (Forbidden)

      當檢視者提出重新導向至HTTPS請求的HTTP請求時, 會針對這兩個請求 CloudFront 收取費用。對於HTTP請求,費用僅適用於請求和傳回檢視器的標頭 CloudFront。對於HTTPS請求,費用適用於請求,以及 標頭和原始伺服器傳回的檔案。

      HTTPS 僅限

      檢視器只有在使用 時,才能存取您的內容HTTPS。如果檢視器傳送HTTP請求而非HTTPS請求, 會 CloudFront 傳回HTTP狀態碼403 (Forbidden),而不會傳回檔案。

    3. 請選擇 Yes, Edit (是,編輯)

    4. 針對您想要HTTPS在檢視器和 之間請求的每個額外快取行為,重複步驟 a 到 cCloudFront。

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

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

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

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