AWS_QUERYSTRING_AUTH = False не работает с кэшированными изображениями AWS S3 из публичного ведра S3
У меня есть публичное ведро AWS S3, где я храню в основном изображения для нашего сайта. Я использую boto3 для доступа и обновления изображений в ведре.
Обычно я оборачиваю обращения к изображениям в своих шаблонах в теги sorl thumbnail
следующим образом:
{% thumbnail post.get_thumbnail_image.url '350x230' crop='center' as im %}
<img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}"
alt="{{ post.title }}">
{% endthumbnail %}
в результате чего возвращаемые изображения выглядят следующим образом:
https://mybucket.s3.amazonaws.com/cache/e4/8f/e48f5547cec7e4a869696527fac12a8f.jpg
Теперь я хочу использовать Memcached для кэширования целых представлений на сайте. Я не думаю, что это будет проблемой для публичного ведра, потому что я не ожидаю, что запрашиваемые изображения будут требовать подписи. Что верно, как только я устанавливаю AWS_QUERYSTRING_AUTH = False
в моем settings.py
- изображения перестают иметь подписи.
Проблема в том, что даже для публичного ведра с AWS_QUERYSTRING_AUTH = False
, файлы миниатюр, которые я получаю обратно, выдают ошибку Access Denied
при удалении подписей.
Является ли это вопросом промывки кэша S3? Как я могу заставить эти кэшированные файлы миниатюр уважать мои AWS_QUERYSTRING_AUTH = False
?