【发布时间】:2018-06-20 22:41:21
【问题描述】:
我设置了一个 AWS S3 存储桶来使用我自己的 URL 托管一个静态网站。存储桶和里面的文件的所有权限都是公开的。我通过打开 index.html 页面的公共链接确认了这一点。当我输入我的 URL (ianpritchard.com) 时,我收到一个内部服务器错误。我将日志记录在存储桶上,并看到我的请求被拒绝访问。有谁知道为什么?我确实在我的托管区域中设置了 A 记录。
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>xxx</RequestId>
<HostId> xxxx </HostId>
</Error>
存储桶策略在这里 -
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::xxxx/"
}
]
}
【问题讨论】:
-
发布日志。使用存储桶策略公开? ACL?
-
@Kashyap 谢谢你的帮助。日志在这里(x 字符是我的混淆)-
AccessDeniedAccess Denied xxx xxxx 存储桶策略在这里 - { "Version": "2012-10-17", "Statement": [ { "Sid": "PublicReadGetObject", "Effect": "Allow", "Principal": "”、“动作”:“s3:GetObject”、“资源”:“arn:aws:s3:::xxxx/” } ] } -
访问被拒绝错误,它用于哪个 S3 对象/资源?
-
它没有在日志中说,但我认为它将用于 ianpritchard.com 存储桶中的 index.html。不过,它可以通过其面向公众的 URL 访问。
-
@Kashyap 一个可能的线索。当我查看 AWS 控制台中的注册域页面时,我看到了来自我原来的托管公司(ns1.netfirms.com 和 ns2.netfirms.com)的名称服务器。在 DNS 部分中,NS 记录显示了正确的 Route 53 名称服务器。这会导致这个问题吗?有什么我可以尝试看看是否可以纠正的吗?重命名域名页面名称服务器?
标签: amazon-web-services web amazon-s3 static