我已将Django设置为使用django-storages从S3存储桶中提供静态文件。
不幸的是,静态文件的网址如下:
https://[bucket name].s3.amazonaws.com/profile_pics/[filename]?AWSAccessKeyId=[...]&Signature=[...]&Expires=[...]
是否可以对URL进行编码,以避免泄露AWS访问密钥和签名?
答案 0 :(得分:0)
当您尝试为客户共享S3上的私有资源时,S3就是这样工作的。使用访问密钥ID和签名,您的客户可以使用它在短时间内访问您的资源,然后该资源将过期。
在此处查看Signed URL document,以了解其工作原理。
希望有帮助!
答案 1 :(得分:0)
最终我发现,要从网址中隐藏访问密钥和签名,只需添加
AWS_QUERYSTRING_AUTH = False
在settings.py中并将S3存储桶设置为公共。