使用ssl将Cloudfront重定向到裸域[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ssl将Cloudfront重定向到裸域[关闭]相关的知识,希望对你有一定的参考价值。
请原谅我,如果之前有人询问过,有很多资源可以触及,但似乎没有什么适合我的特定(https)用例。
我正在尝试将https://www.example.com重定向到https://example.com。同样,这应该适用于http://www.example.com到https://example.com。
我已经设置了一个带有s3存储桶源的云端分发,将http重定向到https,添加了cname example.com并添加了我的域证书(适用于www子域以及裸域)。
我还设置了一个单独的发行版,其中包含www.example.com的cname,添加了证书并将原点设置为一个单独的s3存储桶,在(静态网站托管)中将所有请求重定向到https://example.com。
重定向工作正如http://example.com到https://example.com所预期的那样,但是http:s / x://www.example.com到https://example.com没有。
在路由53中,我将根域别名为第一个云端分布,而www别名为第二个。
在AWS上托管网站,以便:
https://www.example.com,http://www.example.com和http://example.com全部重定向到https://example.com
你需要:
- 创建两个名为:example.com和www.example.com的S3存储桶。
- 打开这两个桶上的静态网站托管。
- 将存储桶www.example.com中的重定向配置为:https://example.com。在存储桶属性中,选择静态网站托管=>将所有请求重定向到另一个主机名。在Target bucket或domain字段中,输入example.com,在Protocol字段中输入https
- 对于这些存储桶,请创建两个CloudFront分配。每个发行版都指向相应的存储桶:
- 对于Origin Domain Name,提供静态网站托管部分中提供的存储桶网址。网址应该有形式(或类似):example.com.s3-website-us-west-1.amazonaws.com 在两个分发集上HTTP到HTTPS重定向。 请勿使用由AMAZON AUTOCOMPLETE建议的URL! 不要设置默认的根对象属性!
- 通过将www.example.com和example.com的A记录设置为指向相应的CloudFront分配来配置DNS。
它为什么有效?在两种情况下(使用和不使用www),CloudFront都提供从HTTP到HTTPS的重定向。 www.example.com的存储桶提供重定向到example.com。如果您没有此分发,则存储桶将无法重定向https://www.example.com的请求。 S3本身不支持静态网站托管的HTTPS。
由于这个答案,我找到了解决方案:Amazon S3 Redirect and Cloudfront
简而言之:
如果源只是存储区ID,则Cloudfront不会遵循S3中的重定向规则设置。相反,我必须将原点设置为提供的s3静态网站主机名。
以上是关于使用ssl将Cloudfront重定向到裸域[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
通过单个 CloudFront 分配支持 HTTPS URL 重定向