簡體   English   中英

動態Route53子域轉發

[英]Dynamic Route53 sub-domain forwarding

我正在嘗試將Route53域重定向到另一個Route53域,同時保持子域。

我在example.com上有一個Route 53托管區域,其中包含我的主要網站。

我還有一個Route 53托管區域example.co.uk,它使用S3靜態網站重定向規則(如https://stackoverflow.com/a/14289082/918030所述 )重定向到example.com。

這對於根域非常有用,但是我想映射子域,如以下示例所示:

sub1.example.co.uk   -->    sub1.example.com

sub2.example.co.uk   -->    sub2.example.com

...

sub999.example.co.uk -->    sub999.example.com

我知道可以通過為每個子域創建一個新的S3存儲桶並配置適當的S3靜態網站重定向規則來做到這一點,但是我想知道是否有一種方法可以動態地做到這一點,因此* .example.co.uk轉發給* .example.com。 最好無需運行單獨的EC2實例(運行nginx)

謝謝!

斯蒂金

除了現有的AWS服務(當然不包括EC2)的任何組合之外,沒有一種簡單的方法來實現此目的……除了為要重定向的每個子域創建唯一的存儲桶之外。 每個帳戶100個存儲桶限制現在是一個軟限制,而不是一個硬限制,因此您現在可以-通過提出一個合理的用例-要求AWS支持增加您的存儲桶限制。

當然,這並沒有解決必須提供它們的問題,盡管Route 53中的單個通配符CNAME允許您使用根區域網站終結點作為目標,然后至少以S3的方式將其整體路由到S3。目前可以正常工作,這意味着依賴於一些未記錄的S3行為,這些行為似乎不太可能改變,但是仍然可以改變。

對與已創建的存儲桶不匹配的主機名的請求仍將轉到S3並返回“ NoSuchBucket”錯誤,這本身就是一個問題……實際上,這是您尋求通配符時的考慮因素。

在前兩段中,我提到利用通配符CNAME指向S3的一些未記錄的行為。 想象被已經閱讀了文檔但未嘗試過S3實際行為的潛在評論者*.mysterystring.example.com ,我在Route 53托管區域之一中設置了通配符CNAME,將*.mysterystring.example.com指向s3-website-us-west-2.amazonaws.com 這不是文檔中所說的應該這樣做的方式,但是可以肯定的是,它的工作方式完全符合我的預期……如果您用*替換了* ,那么如果您在us-west- 2,S3應要求提供服務。 如果不是,則為“ NoSuchBucket”錯誤,並帶有試圖找到但未找到的存儲桶名稱S3。 那么,為什么我沒有提到實際的測試設置域來證明我的觀點呢? 好吧... 隨便找一個人都可以使用一個與該通配符匹配的未使用主機名創建一個存儲桶,並在我的域中擁有一個網站,該網站托管在S3中,並且該設置沒有我的任何配置,並且我不知道。 (!?)當然,他們會向您收取水桶的費用,但嘿,免費域名搶注! 您知道的下一件事,他們在冒充我,竊取客戶,誰知道呢?

因此,危險信號:請注意不要使用通配符重定向未配置資源的含義。

另一方面,如果您想重定向所有內容(並采取步驟以確保目的地確實是一個死胡同,不能私自聲明未使用的主機名),那么EC2實例將不是一件壞事。 一個t2.micro每天可以輕松地為成千上萬的輕量級請求提供服務,例如重定向(我的請求每天例行處理30萬以上,並且總是有備用的CPU信用),而每月的費用卻少於$ 10。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM