我有以下设置:
example.com
,.net
和.org
。http://docs.example.com
或https://docs.example.com
将显示该网站。现在,我想将以下重定向规则放在适当的位置。基本上,所有内容都应该使用用户最初请求的协议重定向到docs.example.com。
http://docs.example.net
> http://docs.example.com
https://docs.example.net
> https://docs.example.com
http://docs.example.org
> http://docs.example.com
https://docs.example.org
> https://docs.example.com
这是我遇到麻烦的地方。如果我将具有ALIAS记录的.net
和.org
子域指向CloudFront分配,则该URL仍会显示该子域,而不是.com
。如果我使用带有重定向规则的.net
和.org
子域命名的S3存储桶到.com
,并将ALIAS记录添加到这些存储桶,那么一切都适用于HTTP,但HTTPS失败b / c ACM证书仅适用于CloudFront,而不适用于S3。如果我尝试将CNAME记录添加到指向.net
的{{1}}和.org
子域,则HTTPS仍然会失败,并且由于某种原因HTTP还会重定向到HTTPS。
根据此SO post,看起来我唯一的选择就是创建另外两个CloudFront分配,一个用于.com
,另一个用于.net
。但这听起来只是所以过度设计给我,并且真的会膨胀我用来完成所有这些的CloudFormation模板。
有人可以推荐更简单的解决方案吗?
答案 0 :(得分:0)
CF中没有直接的方法来跨域重定向(即使.com .org和.net链接到同一个发行版)。我建议的最简单的方法是在Cloudfront中使用AWS Edge Lambda来相应地重定向。