我有以下设置:HTTPS重新导向;网站在AWS
- 一个文档网站的S3存储桶托管
- 使用水桶为原点,接受HTTP或HTTPS流量
- 一个CloudFront的分布通过Route 53注册的3个自定义域名;我们称它们为
example.com
,.net
和.org
。 - 对于那些3个域的ACM证书,以便HTTPS将工作
- 托管区example.com有指向CloudFront的分布别名记录,所以
http://docs.example.com
或https://docs.example.com
将显示网站。
现在,我想把下面的重定向规则到位。基本上,一切都应该重定向到docs.example.com,使用用户最初请求的任何协议。
- >
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
这是我在遇到麻烦。如果我在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模板。
任何人都可以推荐一个更简单的解决方案吗?
感谢您的建议。那个链接被破坏了! – Rabadash8820
谢谢提及。更正了链接。 – Ashan