具有重定向功能的S3存储桶的HTTPS

时间:2016-01-19 08:09:10

标签: amazon-web-services amazon-s3 amazon-cloudfront

我在 example.com 上有一个网站。我创建了一个S3存储桶并将其设置为将所有请求重定向到 example.com ,并创建了一个DNS条目,将 www.example.com 指向该S3存储桶。到目前为止,从 http://www.example.com 重定向 - > http://example.com 工作正常

我无法从 https://www.example.com重新定位 https 流量 - > https://example.com

我创建了一个Cloudfront发行版并向其添加了SSL,并将其指向上面提到的S3存储桶。当我尝试访问给定域名的分发时,而不是重定向,我在浏览器中获得以下内容:

<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>www.example.com</Name>
  <Prefix/>
  <Marker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
</ListBucketResult>

我的分发常规设置是

Distribution ID XXXXXXXXXXXX
Log Prefix  -
Delivery Method Web
Cookie Logging  Off
Distribution Status Deployed
Comment -
Price Class Use All Edge Locations (Best Performance)
AWS WAF Web ACL -
State   Enabled
Alternate Domain Names (CNAMEs) -
SSL Certificate mycert
Domain Name xxxxxxxxxxx.cloudfront.net
Custom SSL Client Support   Only Clients that Support Server Name Indication (SNI)
Default Root Object -
Last Modified   2016-01-18 16:12 UTC+2
Log Bucket

知道如何让它发挥作用吗?

1 个答案:

答案 0 :(得分:12)

你很亲密。 CloudFront是正确的解决方案。

您需要采用稍微不同的方法,而不是从下拉列表中选择存储桶。

在重定向存储区的static web site hosting configuration中,找到端点。这将采用与bucket-name.s3-website-[aws-region].amazonaws.com类似的形式。

使用此主机名,而不是从下拉列表中选择存储桶。

  

以此格式指定存储桶名称时,可以使用Amazon S3重定向和Amazon S3自定义错误文档。

     

http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistS3AndCustomOrigins.html

另请注意,您指定CloudFront和S3之间使用的协议的Origin Protocol Policy将设置为仅HTTP。 (此设置仅为后端,前端仍可以是https)。