nginx expires modified

N
На сайте с 06.05.2007
Offline
419
2271

Странного захотелось от nginx:

некий движок генерирует временные картинки - превью видеофайлов с надписью "щяс тут будет превью", которые довольно быстро в течении 1-10 минут перезаписываются картинкой еще раз и становятся уже постоянными. URL при этом не меняется. В движке лишний раз копаться не тянет.

Хочется чтобы, если файл имел дату модификации менее 10 минут, то и заголовок expires устанавливался как +1 минута от даты модификации. Иначе expires должен быть другой большой, например одни сутки.

Да и вообще, было бы интересно выставлять expires равное утроенной разнице времени от даты модификации до текущего - таким образом можно было бы любые статические файлы перезаписывать на сайте по-живому несколько раз, не заботясь о том, что у пользователя надолго осядет в кеше какой-то промежуточный вариант.

Каким образом это провернуть в nginx ?

expires modified похоже, но там просто можно прибавить постоянное число к дате модификации.

Кнопка вызова админа ()
M
На сайте с 16.09.2009
Offline
278
#1

"Временные картинки" реально уникальные?

Если нет и статику nginx раздает - можно как-то так:


location /preview/ {
root /somewhere/;
expires 1d;
error_page 404 =200 /preview404.jpg;
}
location = /preview404.jpg {
internal;
root /somewhereelse/;
expires 10m;
}

"Модификация" движка состоит в том, что он не создает

никакого файла до реальной генерации превью.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
Himiko
На сайте с 28.08.2008
Offline
560
#2

myhand, интересный способ:)

Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
N
На сайте с 06.05.2007
Offline
419
#3

Что ж, спасибо. Мне это подходит.

Только, мне теперь кажется мозилла не хочет верить expires 1m;

M
На сайте с 16.09.2009
Offline
278
#4

Я не уверен, что с 1m (sic!) оно будет работать во всех браузерах. Ибо смысл

такого "кеширования" на стороне клиента?

Если меньше 10m нужно - ставьте просто expires off в локейшене /preview404.jpg.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий