Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用django存储的静态文件的URL_Django_Amazon S3_Python Django Storages - Fatal编程技术网

使用django存储的静态文件的URL

使用django存储的静态文件的URL,django,amazon-s3,python-django-storages,Django,Amazon S3,Python Django Storages,我已经将Django设置为使用Django存储从S3存储桶提供静态文件 不幸的是,静态文件的URL如下所示: https://[bucket name].s3.amazonaws.com/profile_pics/[filename]?AWSAccessKeyId=[...]&Signature=[...]&Expires=[...] 有没有办法对URL进行编码以避免泄露AWS访问密钥和签名?当您试图在S3上为客户共享您的私人资源时,S3就是这样工作的。使用访问密钥id和签名,

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

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

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

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

当您试图在S3上为客户共享您的私人资源时,S3就是这样工作的。使用访问密钥id和签名,您的客户可以使用它在短时间内访问您的资源,然后该资源将过期

看看这里,看看它是如何工作的


希望有帮助

当您试图在S3上为客户共享您的私人资源时,S3就是这样工作的。使用访问密钥id和签名,您的客户可以使用它在短时间内访问您的资源,然后该资源将过期

看看这里,看看它是如何工作的


希望有帮助

最终我发现,要在url中隐藏访问密钥和签名,只需添加

AWS_QUERYSTRING_AUTH = False

在settings.py中,将S3 bucket设置为public。

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

AWS_QUERYSTRING_AUTH = False
在settings.py中,将S3存储桶设置为public