Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: не работает proxy_cache
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
|