ПРОЕКТЫ 


  АРХИВ 


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: не работает proxy_cache



On Jul 20, 2011, at 12:56 PM, Maxim Dounin wrote:

> Hello!
> 
> On Wed, Jul 20, 2011 at 12:24:59PM +0400, Евгений Торопов wrote:
> 
>> Добрый день,
>> 
>> Не могу понять, что мешает кэшированию.
>> 
>> Кэш-конфиг:
>> 
>> proxy_cache_path /opt/local/nginx/cache levels=1:2 keys_zone=sup:32m 
>> max_size=1024m inactive=1h;
>> 
>> proxy_cache                 sup;
>> proxy_cache_valid           1h;
>> 
>> proxy_cache_key            "$host$request_uri";
>> proxy_cache_methods         POST;
>> 
>> 
>> 
>> Отрывок дебаг лога:
> 
> [...]
> 
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy status 200 "200 OK"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Date: Wed, 20 
>> Jul 2011 08:02:16 GMT"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Server: 
>> Apache/2.0.52 (Red Hat)"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: 
>> "Content-Encoding: deflate"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Vary: 
>> Accept-Encoding"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Set-Cookie: 
>> JSESSIONID=avIghzWKEQxa; path=/"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Connection: 
>> close"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header: "Content-Type: 
>> text/xml; charset=ISO-8859-1"
>> 2011/07/20 12:02:20 [debug] 99556#0: *15 http proxy header done
> 
> Как минимум - ставится сессионная кука, nginx такой ответ 
> кешировать не будет, если его специально не попросить.
> 
> Попросить кешировать (и спрятать куки, чтобы не выставлять их всем 
> клиентам из кеша) можно так:
> 
>    proxy_ignore_headers Set-Cookie;
>    proxy_hide_header Set-Cookie;
> 
> Ещё я бы рекомендовал либо добавить в ключ кеширования 
> Accept-Encoding ($http_accept_encoding), либо выключить сжатие на 
> бекендах.  Сейчас nginx не понимает Vary, и в вашем случае в кеш 
> ляжет ответ сжатый deflate'ом, что может не устроить браузер, 
> который потом будет получать ответ из кеша.  Простейший способ 
> выключить сжатие - просто не пропускать на бекенд заголовок 
> Accept-Encoding, как-то так:
> 
>    proxy_set_header Accept-Encoding "";
> 
> Maxim Dounin
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru

Большое спасибо, заработало.

Евгений
jt@xxxxxxxxx


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


 




Copyright © Lexa Software, 1996-2009.