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

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

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

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

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

使用備用網域名稱的需求

當您將替代網域名稱,例如 www.example.com 新增至 CloudFront 分佈時,下列為需求:

備用網域名稱必須是小寫

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

替代網域名稱必須涵蓋在有效 SSL/TLS 憑證內

若要將替代網域名稱 (CNAME) 新增至 CloudFront 分佈,您必須將可信任且有效的 SSL/TLS 憑證連接至分佈,以涵蓋替代網域名稱。這可確保只有具有網域憑證存取權的人員才能與與網域CNAME相關的 CloudFront 建立關聯。

受信任憑證是由 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。如果您在兩個分佈中有重疊的替代網域名稱, 會使用更具體的名稱相符項目將請求 CloudFront 傳送至分佈,無論DNS記錄指向的分佈為何。例如,marketing.domain.com 比 *.domain.com 更為具體。

如果您有指向 CloudFront 分佈的現有萬用字元DNS項目,且您在嘗試新增CNAME具有更特定名稱的新 時收到設定不正確的DNS錯誤,請參閱 CloudFront 會在我嘗試新增新的 時傳回設定不正確DNS的記錄錯誤 CNAME

網域 Fronting

CloudFront 包括防止不同 AWS 帳戶之間發生網域前端的保護。網域前沿是非標準用戶端在某個 AWS 帳戶中建立與網域名稱的 TLS/SSL 連線,但在另一個 AWS 帳戶中對不相關名稱提出HTTPS請求的情況。例如,TLS連線可能會連線至 www.example.com,然後傳送 www.example.org 的HTTP請求。

為了防止網域前端跨越不同 AWS 帳戶的情況, CloudFront 會確保擁有其針對特定連線所提供服務之憑證 AWS 的帳戶,一律符合擁有其在相同連線上處理之請求 AWS 的帳戶。

如果兩個 AWS 帳戶號碼不相符, 會 CloudFront 回應 HTTP 421 Misdirected Request 回應,讓用戶端有機會使用正確的網域進行連線。

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

當您將替代網域名稱新增至分佈時,通常會在DNS組態中建立CNAME記錄,以將網域名稱的DNS查詢路由至 CloudFront 分佈。不過,您無法為DNS命名空間的頂端節點建立CNAME記錄,也稱為區域頂點;DNS通訊協定不允許它。例如,如果您註冊了DNS名稱 example.com,則區域 apex 為 example.com。您無法為 example.com 建立CNAME記錄,但您可以為 www.example.com、newproduct.example.com 等建立CNAME記錄。

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

注意

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

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