AWS静态站点终端节点未正确加载

时间:2019-06-25 11:50:14

标签: amazon-s3 dns amazon-cloudfront amazon-route53 hsts

我遵循了相当复杂的AWS指南来为我的网站设置静态托管,目前尚无法加载,不确定原因。我所做的:

  1. 为站点https://www.dropzonejs.com/#tips 的内容创建了S3存储桶
  2. 将index.html上载到S3存储桶的根
  3. 在“权限->阻止公共访问”选项卡中取消阻止对公共的所有访问
  4. 添加了用于公共访问的存储桶策略:
estimate.dev
  1. 添加了指向域 { "Version": "2012-10-17", "Id": "PolicyForPublicWebsiteContent", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::estimate.dev/*" } ] } 和索引文件estimate.dev的“静态网站托管”功能
  2. index.html添加了自动生成的SOA和NS记录的Route 53区域。分别将TTL设置为60秒。 Imag
  3. 添加了一条指向我的S3存储桶的记录(在组合框中选择) Image
  4. 在注册服务商的控制面板中更改了名称服务器,使其指向SOA记录中列出的AWS名称服务器 Image
  5. 一天过去了

现在,故障排除部分:

  1. 在我的PC estimate.dev上,解析为AWS IP(2天前它在解析注册服务商IP)
  2. 这些URL可以完美地返回我网站的内容(仅一页,index.html): http://estimate.dev.s3-website-us-east-1.amazonaws.com/ https://s3.amazonaws.com/estimate.dev/index.html
  3. 这些网址[http://estimate.dev]和[https://estimate.dev]在加载一段时间后在Chrome中返回estimate.dev

我试图删除A记录并添加一个CNAME,但是它不允许我在那里选择我的S3存储桶。所以我回到了A记录。

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

除S3网站终结点(不支持REST API)不支持HTTPS之外,其他一切都正确,并且由于HSTS策略,许多现代浏览器尝试使用https,并且您会看到连接超时。

要使其在HTTPS上运行,您可以使用CloudFront并使用以下链接进行设置:

https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/