gpt4 book ai didi

django - AWS S3 Bucket返回403禁止

转载 作者:行者123 更新时间:2023-12-03 08:45:54 29 4
gpt4 key购买 nike

我在 Django 中有一个应用程序,我将其静态文件放在 AWS S3 上的存储桶中。但是,当我尝试在应用程序中连接时,存储桶 S3 返回 403 禁止静态文件。

我的存储桶配置了公共(public)访问权限。

enter image description here

如果我尝试直接访问该文件,则会返回 XML 错误,如下所示:

此 XML 文件似乎没有任何与其关联的样式信息。文档树如下所示。

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>2A64DBA5BD88AC1C</RequestId>
<HostId>
K7NHlv7xhPAL6626LCHLayoR4BauqARf6KaTtKUYKQsakNqQ1LL6RnuIwxUqjMP0q6UjMmiW7Yw=
</HostId>
</Error>

我的存储桶包含文件:

enter image description here enter image description here

我尝试更改设置,将 AWS_DEFAULT_ACL 设置为“public”、“private”和 None,但问题仍然存在...

观察:我的应用程序在 Heroku 中。

如何解决这个问题?

最佳答案

公共(public)访问需要很多东西。您是否完成了以下所有操作?

存储桶 > 权限 > 阻止公共(public)访问按钮 > 阻止所有公共(public)访问设置为关闭。

存储桶 > 存储桶策略

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublicReadGetObject",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::BUCKETNAME/*"
}
]
}

最后一项仅适用于静态网站托管。正如您所提到的,您没有提供 .html 文件,因为您正在构建 Django 应用程序。不过,我还是把它留在这里,以防有人发现它有用。

存储桶 > 属性 > 静态网站托管 > 使用此存储桶托管网站。

关于django - AWS S3 Bucket返回403禁止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61489846/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com