我花了不少时间进行故障排除。以下是我目前已确认的内容:
S3 侧
- Bucket 名称正好是我的网站名称
- 启用静态托管,将索引文档设置为 index.html(位于存储桶中)
- 阻止所有公共访问:开启。应该没问题,因为我使用 OAC
- 存储桶策略:
{
"Version": "2012-10-17",
"Id": "PolicyForCloudFrontPrivateContent",
"Statement": [
{
"Sid": "AllowCloudFrontServicePrincipal",
"Effect": "Allow",
"Principal": {
"Service": "cloudfront.amazonaws.com"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucketname/*",
"Condition": {
"StringEquals": {
"AWS:SourceArn": "arn:aws:cloudfront::<something>:distribution/<wahtever>"
}
}
}
]
}
云端分布
- 自定义 SSL 证书,tls 1.2(https 不起作用,但这是以后的问题)
- 默认根对象
/index.html
。不清楚这是否完全必要,因为 s3 已经知道这是根对象。 - 来源:来源域是 S3 WEBSITE 端点,端口 80 http
- 行为:将 HTTP 重定向到 HTTPS
53 号公路
3 条记录:
- A记录,别名,简单路由,指向我的cloudfront域
- 由 Aws 创建的 NS 记录(我将它们添加到我购买域名的 DNS 服务器列表中
- 由 aws 创建的 SOA 记录