Re: expires не корректно задает время суток при использовании fastcgi_pass
Igor Sysoev
igor на sysoev.ru
Чт Сен 16 23:20:49 MSD 2010
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 часа, что, насколько я понимаю, не правильно.
> Я, конечно, понимаю, что правильнее здесь было бы выдавать эти заголовки
> бэкендом, но все же хотелось бы понять почему так происходит.
У меня не воспроизводится.
> $ nginx -V
> nginx version: nginx/0.7.62
> configure arguments: --prefix=/usr --conf-path=/etc/nginx/nginx.conf
> --http-log-path=/var/log/nginx/access_log
> --error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid
> --http-client-body-temp-path=/var/tmp/nginx/client
> --http-proxy-temp-path=/var/tmp/nginx/proxy
> --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --with-md5-asm
Вот это:
> --with-md5=/usr/include --with-sha1=/usr/include
бессмысленные параметры.
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru