签名/过期/访问密钥ID出现在URL参数中.的Django /宝途/ S3

LIL*_*ILI 18 django amazon-s3 boto

缩略图URLS中包含参数.我不知道为什么.我认为它们与我们正在使用的sorl-thumbnail或boto存储有关.如何从URL中删除其他参数?他们是来自boto/s3还是sorl.我不知道如何调试.

mag*_*gon 64

使用:AWS_QUERYSTRING_AUTH = False

  • 这个答案需要更多细节才有用. (19认同)
  • 它的记录很差,但这确实是你需要的东西.如果您的存储桶可供所有人(您希望用于媒体)公开查看,则会删除身份验证参数. (4认同)

gar*_*aat 5

正在添加的额外参数用于实现查询字符串身份验证.这允许您将URL预先签名为存储在S3中的私有资源.只要有人拥有预先签名的URL(并且它尚未过期),即使它们不是公开可读的,他们也能够访问这些资源.

如果没有额外的参数,则无法提供对这些私有S3资源的公共访问.


osk*_*ast 5

对我有用:AWS_QUERYSTRING_AUTH = False

使用这个https://github.com/mstarinteractive/django-s3storage

from myapp.s3storage import S3BotoStorage
from django.contrib.staticfiles.storage import CachedFilesMixin


class CachedStaticS3BotoStorage(CachedFilesMixin, S3BotoStorage):

    """Extends S3BotoStorage to save static files with hashed filenames."""
    pass
StaticRootS3BotoStorage = lambda: CachedStaticS3BotoStorage(location='static')
Run Code Online (Sandbox Code Playgroud)