0

我已将 Django 设置为使用 django-storages 从 S3 存储桶提供静态文件。

不幸的是,静态文件的网址如下所示:

https://[bucket name].s3.amazonaws.com/profile_pics/[filename]?AWSAccessKeyId=[...]&Signature=[...]&Expires=[...]

有没有办法对网址进行编码以避免泄露 AWS 访问密钥和签名?

4

2 回答 2

2

最终我发现要从 url 中隐藏访问密钥和签名就足够了

AWS_QUERYSTRING_AUTH = False

在 settings.py 中并将 S3 存储桶设置为公共。

于 2019-09-19T22:37:44.773 回答
0

当您尝试在 S3 上为您的客户共享私有资源时,这就是 S3 的工作方式。使用访问密钥 ID 和签名,您的客户可以使用它在短时间内访问您的资源,然后它就会过期。

在此处查看Signed URL 文档以了解其工作原理。

希望有帮助!

于 2019-09-19T00:15:03.740 回答