从本地主机上的网站 运行 向 AWS S3 发出的 GET 请求失败
Failed GET requests to AWS S3 from website running on local host
问题:
我正在使用 django 开发一个网站,图像和静态内容存储在 S3 中。当我 运行 我的网站在本地主机上时,我收到 403 禁止错误。
GET https://mybucket.s3.amazonaws.com/static/image.jpg 403 (Forbidden)
到目前为止我已经尝试过:
- 在我的 S3 存储桶上配置了 CORS
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
- 在环境变量中存储 S3 凭据。我已经能够运行
python manage.py collectstatic
上传静态文件到S3,所以我知道这个连接已经建立。
有人知道我错过了什么吗?
这已通过修复我的 Django 项目的结构得到解决。不是很明显,但是 BASE_DIR 指向了错误的目录。
问题: 我正在使用 django 开发一个网站,图像和静态内容存储在 S3 中。当我 运行 我的网站在本地主机上时,我收到 403 禁止错误。
GET https://mybucket.s3.amazonaws.com/static/image.jpg 403 (Forbidden)
到目前为止我已经尝试过:
- 在我的 S3 存储桶上配置了 CORS
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
- 在环境变量中存储 S3 凭据。我已经能够运行
python manage.py collectstatic
上传静态文件到S3,所以我知道这个连接已经建立。
有人知道我错过了什么吗?
这已通过修复我的 Django 项目的结构得到解决。不是很明显,但是 BASE_DIR 指向了错误的目录。