![](/img/trans.png)
[英]AWS can't specify route 53 record without subdomain for cloudfront CNAME
[英]Point a subdomain from Route53 to CloudFront without using CNAME
我有一個子域(dev.example.com),需要將其指向我的Cloudfront發行版(xyz.cloudfront.net)。 我做了以下步驟
1)創建了Cloudfront發行版。 創建雲前端分配時,請不要在Cname字段中指定任何內容。
2)在Route53中使用“ A”記錄創建一個Alias記錄,並將dev.example.com指向xyz.cloudfront.net。
但是此設置不起作用。 僅當我在cloudfront發行版中指定cname字段時,它才有效。
有什么想法可以使這個工作嗎?
從*.cloudfront.net
URL訪問CloudFront發行版時,必須指定CNAME。 即使您使用的是A
記錄。
您正在Route 53中創建ALIAS
記錄。即使您沒有創建CNAME
記錄,也必須在您的發行版的CNAME
字段中指定DNS條目dev.example.com
。
否則,CloudFront將不知道您請求的發行版。
另一種選擇是使用專用的IP地址,但這將花費您600美元。
CloudFront在其配置順序中需要所謂的CNAME條目(備用域名),以將傳入的請求與分發相關聯,因此,它們必須是全局唯一的。
但是,通配符似乎與單個子域發生沖突,這是一個例外,但事實並非如此。
如果您使用的是子域,則應該通過提供兩個分發來解決CloudFront對備用域名分配的限制:
blue: dev.example.com
green: *.example.com
將dev.example.com的DNS記錄指向綠色的CloudFront端點。 (而且不要超越我...)
您會發現,盡管進行了DNS設置,但由於CloudFront實際上不知道或不在乎請求是如何路由到它的,因此, 藍色部分仍會處理dev.example.com請求-它使用SNI和Host
標頭來選擇正確的分配。 無論中間路由使用哪個DNS記錄,對dev.example.com
請求dev.example.com
將匹配藍色。
要將流量切換為綠色,請從藍色刪除備用域名,綠色的通配符將自動開始承載流量。 無需更改DNS。
這是記錄的行為:
如果備用域名已經存在於另一個CloudFront分配中,則即使您的AWS賬戶擁有另一個分配,您也無法將備用域名添加到CloudFront分配中。
但是, 您可以添加通配符備用域名,例如* .example.com,其中包括(與之重疊)非通配符備用域名,例如www.example.com 。 重疊域名可以在同一分配中,也可以在單獨的分配中,只要兩個分配都是使用同一AWS賬戶創建的。 (添加了重點)
除非您僅打算使用CloudFront域名,否則如果您想讓CloudFront服務於這些域,則必須在“備用域名”框中包括一個或多個自定義域名,例如dev.example.com。
你可以這樣
專用IP自定義SSL功能
Cloudfront POP的專用IP地址將花費您600美元。
在這里更多細節
獲得專用IP后,即可在DNS中創建指向這些IP地址的A記錄。
Cloudfront基於SNI(服務器名稱指示)工作,而SNI需要一個CNAME才能將您的分布映射到該位置。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.