ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: expires и cache-control:no-store однов ременно?



Никита, привет.

Ты невнимательно прочитал вопрос.

>> Хочу, чтобы nginx отдавал ответы с такими
>> заголовками:
>> Date: текущие дата и время сервера
>> Expires: Тоже самое, что в Date
>> Cache-Control: max-age=0, no-store

> expires off;
> add_header Expires
> <то-что-вам-там-надо>
> add_header Cache-Control no-store;

Чтобы это решение работало я должен буду раз в секунду переписывать конфиг и 
рестартовывать nginx.
Вы меня сочтете извращенцем, но тут что-то есть не то.

Мне надо в заголовке получать:
Date: ТЕКУЩЕЕ_ВРЕМЯ_НА_СЕРВЕРЕ
Expires: ТЕКУЩЕЕ_ВРЕМЯ_НА_СЕРВЕРЕ
Cache-Control: max-age=0, no-store

В Apache это делается очень просто.

Как это сделать в nginx я не нашел ни в документации, ни опытным путем.
Поэтому обраился за помощью на этот форум.

Детально проблема заключается в том, что "Expires: ТЕКУЩЕЕ_ВРЕМЯ_НА_СЕРВЕРЕ" 
может установить только модуль expires (директива expires). Правильно?

Затем Cache-Control можно уставить модулем headers (директива add_header).

Однако, модуль expires сносит работу модуля headers и вместо того, чтобы 
ДОБАВИТЬ max-age=0 к созданному с помощью add_header Cache-Control, он (модуль 
expires) УДАЛЯЕТ Cache-Control и создает свой.

Таким образом, я нахожу, что в NGINX невозможно создать такую комбинацию 
заголовков:

Date: ТЕКУЩЕЕ_ВРЕМЯ_НА_СЕРВЕРЕ
Expires: ТЕКУЩЕЕ_ВРЕМЯ_НА_СЕРВЕРЕ
Cache-Control: max-age=0, no-store, etc

Прошу опровергнуть это утверждение и помочь создать такие заголовки

> Т.к. при указании Expires nginx
> автоматически правит и
> CacheControl
> тоже:
> http://wiki.nginx.org/NginxHttpHeadersModule

Да, все правильно, именно поэтому и появилось тут это письмо. И именно это в 
нем и написано:

> > В конфиге написал:
> > location /abc {
> >   ...
> >   expires 0;
> >   add_header Cache-Control "no-store";
> >   ...
> > }

> > А в nginx вижу только add_header
> без возможности указать
> нужна ли мне полная
> > замена заголовка или мне
> надо дополнить имеющийся
> заголовок.
> >
> > Подскажите плиз, как
> настроить nginx/0.7.65, чтобы он
> выдавал одновременно и
> > Expires и _дополнительные_
> значения для Cache-Control?

При этом не надо предлагать очередной ответ НЕ НА МОЙ вопрос типа
expires off
add_header Expires "литерально написанное время в 1970м году"
add_header Cache-Control "no-store; max-age=0";

Так как это ответ на частный случай. И он не отвечает на другие вопросы. 
Например, как создать такие заголовки:
Expires: "время создания файла + 30дней";
Cache-Control: max-age="текущее время минус время создания файла + 30дней", 
no-store, private

Таким образом мне надо одновременно и модуль Expires и управление директивой 
Cache-Control.
Это желание полностью соответсвует rfc2616.

Владимир

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,83819,83947#msg-83947


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.