这很奇怪。我有公共文件和私人文件的混合。我想在公共文件中使用普通网址,在私人文件中使用签名网址。
我在默认情况下尝试更改AWS_QUERYSTRING_AUTH to False
,在django-storage中它是真的。
但是,当我更改它时,我的私人文件网址没有签名(因此无法访问)。
可能是我在这里遗漏了一些东西。什么可以解决?
提前致谢。
答案 0 :(得分:20)
AWS_QUERYSTRING_AUTH
设置默认行为,但您可以在创建S3BotoStorage
实例时通过向初始化程序传入一个额外的参数来覆盖它:
S3BotoStorage(bucket="foo", querystring_auth=False)
因此,如果您有一个私有存储桶和另一个存储桶,则可以适当地设置querystring_auth
参数并获得所需的行为。
答案 1 :(得分:3)
将此内容放入settings.py
AWS_QUERYSTRING_AUTH = False
答案 2 :(得分: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进行测试)