我有一个支持SSL的域名(example.com)。我在尝试重定向来自www.example.com
- >的请求时遇到问题https://example.com
。
尝试访问www.example.com时出现的错误是:
无法满足请求。
错误请求。
这些网址有效(重定向到https://example.com
)
example.com
http://example.com
https://example.com
http://www.example.com
表示该网站不安全,这意味着它不使用该证书。
S3
我创建了2个S3 buckets example.com& www.example.com(分别为A和B)。 Bucket A的静态网站托管使网站托管指向example.com。 Bucket B的静态网站托管已将所有请求重定向到example.com。
的Cloudfront
我有一个包含2个备用域名(CNAME),example.com和www.example.com的发行版。我也有这个dist的SSL证书。
路线53
我有一个包含2个A类别名的托管区域,example.com和www.example.com都指向Cloudfront的发行版(XX.cloudfront.net)
答案 0 :(得分:41)
您需要让Cloudfront分发您的内容。因此,S3服务器中的内容将在服务之前通过Cloudfront。您可以在此处找到有关如何执行此操作的信息:Using CloudFront with Amazon S3
然后,对于第二部分,要使用https拥有所有数据服务器,请执行以下操作: 转到CloudFront>您的发行版>行为标签>选择列表的第一个元素,然后单击“编辑”。然后,您应该能够看到将http重定向到https的选项。
答案 1 :(得分:5)
我很惊讶您运行SSL端点,因为我的理解是正确的设置是禁用s3存储桶上的静态网站托管,并确保所有流量都通过Cloudfront。 Cloudfront将自行处理SSL,包括从HTTP到HTTPS的重定向,前提是您将Cloudfront源配置为仅允许通过Origin Protocol Policy
设置进行HTTPS访问。
设置Cloudfront-to-s3配置:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html
限制s3只能由Cloudfront访问:http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html