Я использую nginx 1.0.12 и имею такую настройку:
location /protected/ {
expires 30d;
log_not_found off;
internal;
alias /var/www/files/uploads/;
}
и я запрашиваю пользовательские файлы, такие как:
header('X-Accel-Redirect: http://example.com/adetwiler/files/example.png');
header('Content-type: image/png');
Все отлично работает до тех пор, пока пользователь не сможет повернуть свое изображение. Как только они повернут свое изображение, я не могу понять, как получить «новую» версию файла, он по-прежнему показывает более старую версию изображения, если в браузере не нажата кнопка «Обновить».
Я попытался установить контроль кеша: no-cache, срок действия истекает: истекает: сб, 26 июля 1997 г., 05:00:00 по Гринвичу, не повезло с ними.
Я попытался добавить дату изменения следующим образом:
header('X-Accel-Redirect: http://example.com/adetwiler/files/example.png?123456789');
Это приводило к загрузке изображения каждый раз, когда я пытался это сделать.
Я попытался добавить это в конфигурацию nginx:
add_header Pragma public;
add_header Cache-Control "public, must-revalidate";
На данный момент я в растерянности, я перепробовал все, что мог придумать.
Итак, мой вопрос: есть ли способ с моей текущей настройкой или что-то похожее на мою настройку, чтобы использовать более новую версию изображения после обновления изображения?
Спасибо!