May 07, 2010 01:55PM
Никита, привет.

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

>> Хочу, чтобы 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.

Владимир
Subject Author Posted

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

vgoncharov May 07, 2010 08:21AM

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

Никита Кардашин May 07, 2010 08:34AM

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

vgoncharov May 07, 2010 01:55PM

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

Daniel Podolsky May 07, 2010 02:16PM

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

vgoncharov May 07, 2010 04:45PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 275
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready