0

我有以下設置:HTTPS重新導向;網站在AWS

  • 一個文檔網站的S3存儲桶託管
  • 使用水桶爲原點,接受HTTP或HTTPS流量
  • 一個CloudFront的分佈通過Route 53註冊的3個自定義域名;我們稱它們爲example.com,.net.org
  • 對於那些3個域的ACM證書,以便HTTPS將工作
  • 託管區example.com有指向CloudFront的分佈別名記錄,所以http://docs.example.comhttps://docs.example.com將顯示網站。

現在,我想把下面的重定向規則到位。基本上,一切都應該重定向到docs.example.com,使用用戶最初請求的任何協議。

  1. ​​>http://docs.example.com
  2. https://docs.example.net>https://docs.example.com
  3. http://docs.example.org>http://docs.example.com
  4. https://docs.example.org>https://docs.example.com

這是我在遇到麻煩。如果我在CloudFront分配中使用ALIAS記錄指出.net.org子域,則該URL仍將顯示該子域,而不是.com。如果我創建的S3存儲區以.net.org子域名命名,並且重定向規則爲.com,並將ALIAS記錄添加到這些存儲桶,那麼對於HTTP而言,一切正常,但HTTPS會失敗,B/c ACM證書僅適用於CloudFront,而不適用於S3 。如果我嘗試將CNAME記錄添加到指向.com.net.org子域中,則HTTPS仍會失敗,並且由於某些原因,HTTP也會重定向到HTTPS。

根據此SO post,看起來我唯一的選擇是創建兩個額外的CloudFront分配,一個用於.net,另一個用於.org。但是,這聽起來像是,所以過度設計給我,並會真正膨脹我用來完成這一切的CloudFormation模板。

任何人都可以推薦一個更簡單的解決方案嗎?

回答

0

在CF中沒有直接的方法來跨域重定向(即使.com .org和.net鏈接到同一分佈)。我可以推薦的最簡單的方法是在Cloudfront中使用AWS Edge Lambda進行相應的重定向。

+0

感謝您的建議。那個鏈接被破壞了! – Rabadash8820

+0

謝謝提及。更正了鏈接。 – Ashan