我创建了一个存储我静态网站的存储桶。
我将属性设置为静态网站托管(索引文档值index.html)
网址为:http://mywebsitelearningcurve.s3-website-us-east-1.amazonaws.com(目前尚无法解释)
我将其公开(许可)。
我的水桶概述
/images
/static
/asset-manifest.json
/favicon.ico
/index.html
/manifest.json
/service-worker.js
使用http://mywebsitelearningcurve.s3-website-us-east-1.amazonaws.com我可以访问我的网站。但是我决定在我的面前使用CloudFront。
我为WEB创建了一个新的发行版。
在原始域名上我使用了mywebsitelearningcurve.s3.amazonaws.com
原产地ID:S3-mywebsitelearningcurve
在查看器协议策略中,我选择了:将HTTP重定向到HTTPS。
一旦完成,我等待审慎宣传的时间,我就有了网址https://d2qf2r44tssakh.cloudfront.net/(目前尚无法解释)。
问题: 当我尝试使用https://d2qf2r44tssakh.cloudfront.net/时,它向我展示了一个xml
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Name>mywebsitelearningcurve</Name>
...
...
...
</ListBucketResult>
但是,当我尝试https://d2qf2r44tssakh.cloudfront.net/index.html时,它正常运行。
我经历了几个tutos并发布但我仍然无法使其发挥作用。有谁可以提供帮助? 感谢
答案 0 :(得分:11)
我今天遇到了同样的问题,可以通过在发布设置的 默认根对象 中添加index.html
来解决此问题:
可选。您希望CloudFront返回的对象(例如, 观看者的请求指向您的根网址时) (http://www.example.com),而不是您的特定对象 分布(http://www.example.com/index.html)。
答案 1 :(得分:0)
我在 AWS 上拥有 5 年的生产经验,并获得了 5 项认证。 谈到 s3 + cloudfront,我总是遇到麻烦 我尝试使用 Cloudformation 自动执行此操作,但 Cloudformation 不支持所需的一切(即 Cloudfront 中的自定义源)。
最后,我只依靠 terraform 来自动化这部分:
https://github.com/riboseinc/terraform-aws-s3-cloudfront-website/blob/master/sample-site/main.tf
如果您不介意使用 terraform,我强烈建议您跳到那里。