16 сентября 2010 г. 23:20 пользователь Igor Sysoev
On Thu, Sep 16, 2010 at 07:06:03PM +0400, Илья Пирогов wrote:
> Доброго времени суток.
>
> Пытаюсь выставить Expires до полуночи:
>
> location /test.php {
> fastcgi_pass
127.0.0.1:1234;
>
> include /etc/nginx/fastcgi_params;
>
> fastcgi_param SCRIPT_FILENAME $www_root$fastcgi_script_name;
> fastcgi_param PATH_INFO $fastcgi_script_name;
> fastcgi_ignore_headers Expires; # для наглядности, хотя бэкенд и так
> не отдает этот заголовок
> ssi on;
>
> expires @24h;
> add_header Cache-Control public;
> }
>
> И получаю следующий ответ:
>
>
> 1. Cache-Control:
> max-age=86400, public
> 2. Connection:
> keep-alive
> 3. Content-Encoding:
> gzip
> 4. Content-Type:
> text/html; charset=utf-8
> 5. Date:
> Thu, 16 Sep 2010 14:57:46 GMT
> 6. Expires:
> Fri, 17 Sep 2010 14:57:46 GMT
> 7. Keep-Alive:
> timeout=20
> 8. Server:
> nginx/0.7.62
> 9. Transfer-Encoding:
> chunked
> 10. X-Powered-By:
> PHP/5.2.13-pl0-gentoo
>
>
> Т.е. вместо того, что бы выставить Expires до полуночи, nginx выставил его
> на 24 часа, что, насколько я понимаю, не правильно.
> Я, конечно, понимаю, что правильнее здесь было бы выдавать эти заголовки
> бэкендом, но все же хотелось бы понять почему так происходит.
У меня не воспроизводится.
Хм... Попробую упростить конфигурацию до минимума. У меня воспроизводится только для динамики, если же отдавать статику, то все работает как надо.
Такой ebuild в gentoo.