django - 使用 django-s3-storage 为静态文件获取 403
问题描述
我的设置如下:
STATIC_ROOT = BASE_DIR + '/static'
YOUR_S3_BUCKET = "tlot-static"
# DEFAULT_FILE_STORAGE = "django_s3_storage.storage.S3Storage"
STATICFILES_STORAGE = "django_s3_storage.storage.StaticS3Storage"
AWS_S3_BUCKET_NAME = AWS_S3_BUCKET_NAME_STATIC = YOUR_S3_BUCKET
# These next two lines will serve the static files directly
# from the s3 bucket
AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % YOUR_S3_BUCKET
STATIC_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN
但我不断得到:
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>9F85922419DD93C0</RequestId><HostId>5lV1ft+jAOTvnqCvOC/fMSolHXS8foJde8XP1LxtYytlZLjejA2gvjIurYwt9Fn8Jxlgvy5IjOI=</HostId></Error>
这些文件已使用 collectstatic 成功部署,并且我已根据存储桶上的文档设置了 cors。我还需要做什么?
解决方案
您需要在 Amazon 上的 s3 设置(最快方式)中授予对文件或文件夹的公开访问权限,或者在需要更严格的访问权限时设置安全策略。
也许这个链接可以帮助: https ://www.codingforentrepreneurs.com/blog/s3-static-media-files-for-django/
推荐阅读
- android - 当我在其中使用 docker 时,jenkinsfile 失败
- zabbix - zabbix Trapper VS zabbix agent
- druid - 如何检查德鲁伊转换规范表达式中的“IN”子句
- kotlin - 如何解决 PW Generator 无法处理特定字符?
- python - 如何使用这个 django 模型创建表单?
- shell - 从一个文件中获取数据并使用 awk 将其发送到另一个文件
- excel - 修改循环以包含 3 个字符串
- python - 使用 Python 读取()图像文件并将其发送到 HttpResponse
- python - keras 迁移学习在之前添加一层并选择特定层作为输出
- python - 使用 Paramiko 将文件从 SFTP 传输到 S3