17

这很奇怪。我混合了公共文件和私人文件。我想要公共文件中的普通网址,以及私人文件中的签名网址。

我试图改变AWS_QUERYSTRING_AUTH to False我默认看到的,它在 django-storages 中是真的。

但是,当我更改它时,我的私人文件 url 没有签名(因此无法访问)。

可能是我在这里遗漏了一些东西。什么可以解决?

提前致谢。

4

3 回答 3

25

AWS_QUERYSTRING_AUTH设置默认行为,但您可以在创建 的实例时覆盖它S3BotoStorage,方法是将附加参数传递给初始化程序:

S3BotoStorage(bucket="foo", querystring_auth=False)

因此,如果您有一个私有存储桶和另一个公有存储桶,您可以querystring_auth适当地设置参数并获得您想要的行为。

于 2013-05-29T16:13:02.657 回答
3

把这个放在你的settings.py

AWS_QUERYSTRING_AUTH = False
于 2014-11-07T09:23:34.457 回答
1

解决此问题的另一种方法是在您的设置中设置 AWS_S3_CUSTOM_DOMAIN。@see:https ://github.com/jschneier/django-storages/blob/master/storages/backends/s3boto.py#L478

(用 boto==2.38.0 和 django-storages-redux==1.3 测试)

于 2015-10-29T10:06:09.307 回答