AWS CloudFront 和 S3,使用单一重定向处理 WWW 和 HTTPS
AWS CloudFront and S3, Handling WWW and HTTPS with a Single Redirect
我正在尝试设置重定向,以便所有变体:
http://example.com, http://www.example.com, https://example.com
重定向到 https://www.example.com
我已经经历了其他几个 并让它工作,除了我注意到重定向中的一些奇怪之处。
http://www.example.com -> 301 -> https://www.example.com 按预期工作
http://example.com -> 301 -> http://www.example.com -> 301 -> https://www.example.com
场景一:有没有办法跳过前301?
https://example.com -> 301 -> http://www.example.com -> 301 -> https://www.example.com
场景二:实际上是先重定向回http。有没有办法跳过第一个 301?
设置
S3
两个桶:
- www.example.com 托管站点
- example.com,使用 https 协议重定向到 www.example.com。
CloudFront
两个分布:
分布一
- 自定义来源:www.example.com.s3-website-us-west-2.amazonaws.com
- 备用 cname: www.example.com
- 查看器协议策略:将 HTTP 重定向到 HTTPS
分布二
- 自定义来源:example.com.s3-website-us-west-2.amazonaws.com
- 备用 cname: example.com
- 查看器协议策略:HTTP 和 HTTPS
53 号公路
example.com 和 www.example.com 的 A 和 AAAA 记录均指向各自的 Cloudfront 分布。
分配二
自定义来源:example.com.s3-website-us-west-2.amazonaws.com
备用 cname:example.com
查看器协议策略:将 HTTP 重定向到 HTTPS
这样你就可以避免这个secanrio 2:
https://example.com -> 301 -> http://www.example.com -> 301 -> https://www.example.com
会是这样
场景一可以避免二次跳转,但你也可以这样做
http://example.com -> 301 -> https://example.com -> 301 -> https://www.example.com
使用 cloudfront
时无法忽略 301 重定向存在一些限制。
我正在尝试设置重定向,以便所有变体:
http://example.com, http://www.example.com, https://example.com
重定向到 https://www.example.com
我已经经历了其他几个
http://www.example.com -> 301 -> https://www.example.com 按预期工作
http://example.com -> 301 -> http://www.example.com -> 301 -> https://www.example.com
场景一:有没有办法跳过前301?
https://example.com -> 301 -> http://www.example.com -> 301 -> https://www.example.com
场景二:实际上是先重定向回http。有没有办法跳过第一个 301?
设置
S3
两个桶:
- www.example.com 托管站点
- example.com,使用 https 协议重定向到 www.example.com。
CloudFront
两个分布:
分布一
- 自定义来源:www.example.com.s3-website-us-west-2.amazonaws.com
- 备用 cname: www.example.com
- 查看器协议策略:将 HTTP 重定向到 HTTPS
分布二
- 自定义来源:example.com.s3-website-us-west-2.amazonaws.com
- 备用 cname: example.com
- 查看器协议策略:HTTP 和 HTTPS
53 号公路
example.com 和 www.example.com 的 A 和 AAAA 记录均指向各自的 Cloudfront 分布。
分配二
自定义来源:example.com.s3-website-us-west-2.amazonaws.com 备用 cname:example.com 查看器协议策略:将 HTTP 重定向到 HTTPS
这样你就可以避免这个secanrio 2:
https://example.com -> 301 -> http://www.example.com -> 301 -> https://www.example.com
会是这样
场景一可以避免二次跳转,但你也可以这样做
http://example.com -> 301 -> https://example.com -> 301 -> https://www.example.com
使用 cloudfront
时无法忽略 301 重定向存在一些限制。