带有重定向的S3存储桶的HTTPS

Mic*_*ael 9 amazon-s3 amazon-web-services amazon-cloudfront

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

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

我创建了一个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>
Run Code Online (Sandbox Code Playgroud)

我的发行版一般设置是

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
Run Code Online (Sandbox Code Playgroud)

知道如何让它工作吗?

Mic*_*bot 13

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

您无需从下拉列表中选择存储桶,而是需要采用略有不同的方法.

在重定向桶的静态网站托管配置中,找到端点.这将采用类似于的形式bucket-name.s3-website-[aws-region].amazonaws.com.

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

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

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

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