URLs透過新增替代網域名稱來使用自訂 (CNAMEs) - Amazon CloudFront

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

URLs透過新增替代網域名稱來使用自訂 (CNAMEs)

當您建立分發時,請為其 CloudFront 提供一個網域名稱,例如 d111111abcdef8.cloudfront.net。您可以使用替代網域名稱 (也稱為 aCNAME),而不是使用此提供的網域名稱。

若要瞭解如何使用您自己的網域名稱,例如 www.example.com,請參閱下列主題:

使用備用網域名稱的需求

當您將替代網域名稱 (例如 www.example.com) 新增至 CloudFront 發行版時,需求如下:

備用網域名稱必須是小寫

所有替代網域名稱 (CNAMEs) 都必須為小寫。

備用網域名稱必須包覆有有效SSL/TLS證書

要將替代域名(CNAME)添加到 CloudFront 分發中,您必須將覆蓋備用域名的受信任有效SSL/TLS證書附加到您的分發。這樣可確保只有擁有您網域憑證存取權的人員才能與您 CloudFront 的網域CNAME相關聯。

受信任的憑證是由 AWS Certificate Manager (ACM) 或其他有效憑證授權單位 (CA) 所發行的憑證。您可以使用自我簽署憑證來驗證現有憑證CNAME,但無法驗證新CNAME憑證。 CloudFront 支援與 Mozilla 相同的憑證授權單位。如需目前的清單,請參閱 Mozilla 內建 CA 憑證清單

若要使用您附加的憑證 (包括包含萬用字元的替代網域名稱) 來驗證替代網域名稱,請 CloudFront 檢查憑證上的主體別名 (SAN)。您要新增的替代網域名稱必須涵蓋在SAN.

注意

一次只能將一個憑證附加至 CloudFront 發行版本。

您可以執行以下作業,證明您已獲得授權,將特定的備用網域名稱新增到您的分佈:

  • 附加包含替代網域名稱的憑證,例如 product-name.example.com。

  • 連接網域名稱開頭包含 * 萬用字元的憑證,以使用單一憑證涵蓋多個子網域。當您指定萬用字元時,您可以在 CloudFront中新增多個子網域作為替代網域名稱。

下列範例說明如何在憑證中使用網域名稱中使用萬用字元來授權您在中新增特定替代網域名稱。 CloudFront

  • 您想要新增 marketing.example.com 做為替代網域名稱。在您的憑證中列出以下網域名稱:*.example.com。將此憑證附加至時 CloudFront,您可以為您的分發新增任何替代網域名稱,以取代該層級的萬用字元,包括 marketing.example.com。您也可以新增下列備用網域名稱 (範例):

    • product.example.com

    • api.example.com

    但是,您無法新增比萬用字元層級高或低的備用網域名稱。例如,您無法新增替代網域名稱 example.com 或 marketing.product.example.com。

  • 您想要新增 mexample.com 做為替代網域名稱。若要執行此作業,您必須在您連接到分佈的憑證上列出網域名稱 example.com 本身。

  • 您想要新增 marketing.product.example.com 做為替代網域名稱。若要執行此作業,您可以在憑證上列出 *.example.com,或是在憑證上列出 marketing.product.example.com。

變更DNS組態的權限

當您新增替代網域名稱時,您必須建立CNAME記錄,將替代網域名稱的DNS查詢路由傳送至您的 CloudFront 發佈。若要這麼做,您必須擁有與DNS服務供應商建立您使用的替代網域名稱CNAME記錄的權限。一般而言,這表示您擁有此網域,但您也可能是在為網域擁有者開發應用程式。

替代網域名稱和 HTTPS

如果您希望檢視者HTTPS搭配替代網域名稱使用,則必須完成一些額外的設定。如需詳細資訊,請參閱使用替代網域名稱和 HTTPS

使用備用網域名稱的限制

請在使用備用網域名稱時,注意以下限制:

備用網域名稱的數量上限

如需您可為分發新增之備用網域名稱數量的目前上限,或是有關請求更高配額 (先前稱為限制) 的詳細資訊,請參閱分佈的一般配額

重複和重疊的備用網域名稱

如果另一個 CloudFront 發行版中已經存在相同的替代網域名稱,即使您的 AWS 帳戶擁有其他 CloudFront 發行版,您也無法將備用網域名稱新增至分發。

不過,您可以新增萬用字元替代網域名稱,例如 *.example.com,其中包含 (重疊) 非萬用字元的替代網域名稱,例如 www.example.com。如果您在兩個發行版中有重疊的替代網域名稱,則無論DNS記錄指 CloudFront 向的分佈為何,都會以更具體的名稱相符的方式將請求傳送給該分發。例如,marketing.domain.com 比 *.domain.com 更為具體。

如果您有指向 CloudFront 發行版的現有萬用字元DNS項目,並且在嘗試新增具有更特定名稱的新名稱時收到設定DNS錯誤CNAME的錯誤訊息,請參閱CloudFront 當我嘗試添加新的DNS記錄時返回錯誤配置的記錄錯誤 CNAME

網域 Fronting

CloudFront 包括防止跨不同 AWS 帳戶發生的網域前端的保護。網域前端是一種案例,其中非標準用戶端會在一個帳戶中建立TLS/SSL連線至網域名稱,然後在另 AWS 一個 AWS 帳戶中提出不相關名稱的HTTPS要求。例如,TLS連線可能會連線至 www.example.com,然後傳送要HTTP求。

若要避免網域前端跨越不同 AWS 帳 AWS 戶的情況,請 CloudFront 確定擁有為特定連線提供之憑證的 AWS 帳戶一律符合擁有該相同連線上所處理之要求的帳戶。

如果這兩個 AWS 帳戶號碼不相符,請 CloudFront 回應 HTTP 421 錯誤導向要求回應,讓用戶端有機會使用正確的網域進行連線。

在網域的頂端節點 (Zone Apex) 新增備用網域名稱

當您將替代網域名稱新增至分發時,通常會在DNS設定中建立CNAME記錄,以將網域名稱的DNS查詢路由至您的 CloudFront 分發。但是,您無法為DNS命名空間的頂端節點(也稱為區域頂點)創建CNAME記錄;該DNS協議不允許它。例如,如果您註冊的DNS名稱範例. COM,則區域頂點就是例如 .com。您無法為例子建立CNAME記錄,但是您可以建立CNAME記錄,例如網站、新產品。

如果您使用 Route 53 做為DNS服務,您可以建立別名資源記錄集,它比CNAME記錄有兩個優點。您可以在頂端節點 (example.com) 建立網域名稱的別名資源紀錄集。此外,使用別名資源紀錄集時,您不需要支付 Route 53 查詢。

注意

如果啟用IPv6,則必須建立兩個別名資源記錄集:一個用於路由IPv4流量 (A 記錄),另一個用於路由IPv6流量 (AAAA記錄)。如需詳細資訊,請參閱 發佈設定參考 主題中的 啟用 IPv6

如需詳細資訊,請參閱 Amazon Route 53 開發人員指南中的使用您的 CloudFront 網域名稱將流量路由到 Amazon 網路分