AWS 静态站点端点未正确加载
AWS static site endpoint not loading correctly
我按照相当复杂的 AWS 指南为我的网站设置静态托管,但目前无法加载,不知道为什么。我做了什么:
- 为网站内容创建了 S3 存储桶
estimate.dev
- 已上传 index.html 到 S3 存储桶的根目录
- 在 "Prermissions -> Block Public Access" 选项卡
中解除对 public 的所有访问
- 为 public 访问添加了存储桶策略:
{
"Version": "2012-10-17",
"Id": "PolicyForPublicWebsiteContent",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::estimate.dev/*"
}
]
}
- 添加了指向域
estimate.dev
和索引文件 index.html
的“静态网站托管”功能
- 为
estimate.dev
添加了具有自动生成的 SOA 和 NS 记录的 Route 53 区域。为每个设置 60 秒的 TTL。
- 添加了指向我的 S3 存储桶的记录(select在组合框中编辑)
- 更改了我的注册商控制面板中的名称服务器以指向 SOA 记录中列出的 AWS 名称服务器
- 一天过去了
现在是故障排除部分:
- 在我的电脑上
estimate.dev
解析为 AWS IP(它在 2 天前解析了 Registrar IP)
- 这些 url 完美 return 我网站的内容(只有一页,index.html):
http://estimate.dev.s3-website-us-east-1.amazonaws.com/
https://s3.amazonaws.com/estimate.dev/index.html
- 这些 url [http://estimate.dev] & [https://estimate.dev] return
ERR_CONNECTION_TIMED_OUT
在 Chrome 加载一段时间后
我试图删除 A 记录并添加 CNAME,但它不允许我 select 我的 S3 存储桶在那里。所以我又回到了A记录。
我在这里想念什么?
除了 S3 网站端点(不是 REST API)不支持 HTTPS 并且许多现代浏览器由于 HSTS 政策而尝试使用 https 并且您会看到连接超时之外,一切都是正确的。
要使其在 HTTPS 上运行,您可以使用 CloudFront 并使用以下设置 link:
https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/
我按照相当复杂的 AWS 指南为我的网站设置静态托管,但目前无法加载,不知道为什么。我做了什么:
- 为网站内容创建了 S3 存储桶
estimate.dev
- 已上传 index.html 到 S3 存储桶的根目录
- 在 "Prermissions -> Block Public Access" 选项卡 中解除对 public 的所有访问
- 为 public 访问添加了存储桶策略:
{
"Version": "2012-10-17",
"Id": "PolicyForPublicWebsiteContent",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::estimate.dev/*"
}
]
}
- 添加了指向域
estimate.dev
和索引文件index.html
的“静态网站托管”功能
- 为
estimate.dev
添加了具有自动生成的 SOA 和 NS 记录的 Route 53 区域。为每个设置 60 秒的 TTL。 - 添加了指向我的 S3 存储桶的记录(select在组合框中编辑)
- 更改了我的注册商控制面板中的名称服务器以指向 SOA 记录中列出的 AWS 名称服务器
- 一天过去了
现在是故障排除部分:
- 在我的电脑上
estimate.dev
解析为 AWS IP(它在 2 天前解析了 Registrar IP) - 这些 url 完美 return 我网站的内容(只有一页,index.html): http://estimate.dev.s3-website-us-east-1.amazonaws.com/ https://s3.amazonaws.com/estimate.dev/index.html
- 这些 url [http://estimate.dev] & [https://estimate.dev] return
ERR_CONNECTION_TIMED_OUT
在 Chrome 加载一段时间后
我试图删除 A 记录并添加 CNAME,但它不允许我 select 我的 S3 存储桶在那里。所以我又回到了A记录。
我在这里想念什么?
除了 S3 网站端点(不是 REST API)不支持 HTTPS 并且许多现代浏览器由于 HSTS 政策而尝试使用 https 并且您会看到连接超时之外,一切都是正确的。
要使其在 HTTPS 上运行,您可以使用 CloudFront 并使用以下设置 link:
https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/