我正在尝试使s3存储桶中的文件(CSS JS文件)可以在heroku中运行的Django应用程序访问。
我认为我已经正确配置了settings.py。
我添加了cors,并且将存储桶策略设置为公开。
最终,当我从heroku加载应用程序时,尝试访问静态文件时出现403错误。
时段政策:
function
CORs配置:
var
答案 0 :(得分:5)
该选项称为如果存储桶具有公共策略,则阻止公共和跨帐户访问。如果为TRUE,则表示存储桶策略仅适用于存储桶所有者。
有关详细信息,请参阅:Using Amazon S3 Block Public Access - Amazon Simple Storage Service
这四个新设置可能会令人讨厌,因为它们是尝试公开内容的附加障碍,但它们可能会通过防止意外公开数据而为许多组织节省很多尴尬。
答案 1 :(得分:0)
S3的新功能-S3 Public块可能正在阻止您的请求。您可以查看cloudtrail日志以获取更多详细信息。 更多详细信息:https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
还要查看您的策略,您正在允许对所有AWS主体的存储桶前缀执行s3:*
操作。
通常,对所有AWS主体开放所有S3操作不是一个好习惯。请查看您的需求并缩小策略范围,以提高存储桶对象的安全性。