Fai*_*zer 6 django amazon-web-services amazon-cloudfront boto3 python-django-storages
我想使用CloudFront 的签名 URL而不是普通的未签名 URL。
django-storages提供了选项,AWS_S3_CUSTOM_DOMAIN但随后它会从 CloudFront 的子域生成未签名的 URL。默认情况下AWS_QUERYSTRING_AUTH是True,它并生成S3签署的网址。为 CloudFront 生成签名 URL 的任何方式。
这是我希望打开的设置,但由于未签名的 URL,我禁用了它。
我希望为我的发行版打开的设置
好的,自此提交以来,django-storages 开发版本现在支持签名 URL (有关更多信息,请参阅线程)
该版本尚未在 pip 上发布,因此您可以将其添加到您的需求中,如下所示:
-e git+git://github.com/jschneier/django-storages.git@b116e3a235323144cda6d3cc5a5cb27baf076ee2#egg=django-storages-dev
Run Code Online (Sandbox Code Playgroud)
然后你必须更新你的选项:
AWS_S3_CUSTOM_DOMAIN = "Your cloudfront domain" # something like xxxxx.cloudfront.net
AWS_CLOUDFRONT_KEY_ID = "YOUR_CLOUDFRONT_KEY_ID"
with open(os.path.join(BASE_DIR, "cert.pem")) as aws_cert:
AWS_CLOUDFRONT_KEY = aws_cert.read().encode('ascii')
Run Code Online (Sandbox Code Playgroud)
就是这样。默认的过期时间是24小时,不知道如何更改。
请注意,CloudFront 密钥与您用于其他 AWS 服务的密钥不同。您必须使用您的根 AWS 账户(而不是 IAM 用户)生成它。查看文档
| 归档时间: |
|
| 查看次数: |
583 次 |
| 最近记录: |