0

我試圖將Route53域重定向到另一個Route53域,同時維護子域。Dynamic Route53子域轉發

我有一個包含我的主網站的example.com的Route 53託管區域。

我有example.co.uk我重定向使用example.com S3的靜態網站重定向規則(如在https://stackoverflow.com/a/14289082/918030描述)到另一路由53託管區

這根域,但我的偉大工程想子域映射,如下面的例子:

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)

謝謝!

斯泰恩

回答

2

這裏沒有一個簡單的方法,用現成的,貨架AWS服務任意組合,以做到這一點(不包括EC2,當然)...除了爲每個子域創建一個獨特的水桶要重定向。現在,每個帳戶100個存儲桶限制是一個軟限制,而不是硬限制,因此您現在可以 - 通過提出合理的用例 - 請求AWS支持增加您的存儲桶限制。

這並不能解決必須配置它們的問題,當然,儘管路由53中的單個通配符CNAME允許您使用根區域網站端點作爲目標,然後將其全部路由到S3,至少目前S3的工作方式,這意味着依靠一些無證S3行爲似乎不太可能改變,但可以改變。

對未匹配已創建桶的主機名的請求仍然會返回到S3並返回一個「NoSuchBucket」錯誤,這個錯誤提出了它自己的問題......實際上,它是追求通配符的食物。

兩段落,我提到利用一些未記錄的行爲和通配符CNAME指向S3。想象一下被已閱讀文檔但未嘗試過S3的實際行爲的潛在評論者召喚出來,我在其中一個Route 53託管區域中設置了一個通配符CNAME,指向*.mysterystring.example.coms3-website-us-west-2.amazonaws.com。這不是說文檔說你應該這樣做,但肯定的是,它的工作原理與我預期的完全一樣......無論你放在*的位置,如果你有一個以us-west- 2,S3根據要求提供服務。如果沒有,這是一個「NoSuchBucket」錯誤,完整的桶名S3試圖找到,但不能。那麼,爲什麼我沒有提到實際的測試設置域來證明我的觀點?那麼... 任何人嗅探周圍可以創建一個使用與通配符匹配的未使用主機名之一的存儲桶,並且在我的域中擁有一個網站,在S3中託管,該設置沒有我的配置,也沒有我的知識。 (!?)當然,他們會爲這個桶收費,但是,嘿,免費域名蹲!接下來你知道,他們冒充我,竊取客戶,誰知道?

因此,紅旗:請注意通配符重定向未提供資源的影響。另一方面,如果您想要重定向所有內容(並且您採取措施確保目標真的是無用的主機名的祕密終端),那麼EC2實例將不會是一個不好的交易。 t2.micro可以輕鬆地爲每天的數十萬輕量級請求(例如重定向)提供服務(我有一個每天處理超過30萬次且總是擁有備用CPU信用額的應用程序),價格爲< $ 10 /月。