我在使用 Amazon S3 时遇到“访问被拒绝”错误,但无法找出原因。
我的设置如下:
STATIC_URL = 'http://s3.amazonaws.com/%s/' % AWS_STORAGE_BUCKET_NAME
什么会导致访问被拒绝错误?我已验证我的 key 是正确的。
最佳答案
您上面显示的 URL 将解析为 S3 中的存储桶。为了使用这样的 URL 成功访问该存储桶,该存储桶的权限必须授予对该存储桶的“公共(public)读取”访问权限。此外,存储桶中的每个对象或文件也必须授予“公共(public)读取”访问权限。
您希望存储桶以及存储桶中的所有内容可供任何人读取吗?如果是这样,请确保权限设置正确。但请注意,向存储桶本身授予“公共(public)读取”权限将允许任何人列出存储桶的内容。这通常是不必要的,也许应该避免。
另请注意, key (我假设您指的是您的 AWS 访问 key 和 secret key )仅在您通过 API 访问 S3 时适用。如果您只是通过浏览器使用 URL 访问它,则请求中不会使用凭据。
关于django - Amazon S3 的访问被拒绝错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13167493/