编程语言
首页 > 编程语言> > python-Django存储AWS_QUERYSTRING_AUTH不起作用

python-Django存储AWS_QUERYSTRING_AUTH不起作用

作者:互联网

我一直在尝试解决此问题,但到目前为止我还无法独自解决.关于不希望在S3 url中进行身份验证的问题的反向讨论,有几个不同的文章.

我在我的settings.py中使用带有以下内容的Django-Storages:

AWS_STORAGE_BUCKET_NAME = 'testbucket'

AWS_ACCESS_KEY_ID = 'xxxxx'

AWS_SECRET_ACCESS_KEY = 'xxxxxx'

AWS_QUERYSTRING_AUTH = True

AWS_QUERYSTRING_EXPIRE = 3600'

from datetime import datetime, timedelta

AWS_HEADERS = {
    'Expires': (datetime.now() + timedelta(days=365*10)).strftime('%a, %d %b %Y 00:00:00 GMT')
}

AWS_S3_SECURE_URLS = True

AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME

MEDIA_URL = "https://%s/" % AWS_S3_CUSTOM_DOMAIN

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

保存或列出文件没有问题,但所有URL都没有身份验证查询字符串.

example of the url正在返回.

任何帮助深表感谢.

解决方法:

答案是django-storages查询字符串与自定义域不兼容.

标签:amazon-s3,boto,python,django
来源: https://codeday.me/bug/20191119/2037669.html