proxy_cache

Maxim Dounin mdounin на mdounin.ru
Пн Апр 11 16:40:59 MSD 2011


Hello!

On Mon, Apr 11, 2011 at 04:32:59PM +0400, Anton Kiryushkin wrote:

> Добрый день всем.
> Возникла странная проблема с proxy_cache на nginx 0.9.5. В конфиге nginx в
> секции http прописано следующее:
> 
>     proxy_cache_path /var/www/nginx_cache levels=1:2 keys_zone=one:60m
> inactive=7d max_size=1000m;
>     proxy_temp_path  /var/lib/nginx/proxy_temp 1 2;
> 
>     proxy_cache_valid 404 502 1m;
>     proxy_cache_valid 200 301 302 304 10m;
>     proxy_cache_valid 503 4s;
>     proxy_cache_valid any 1h;
> 
> В конфиге локейшена прописано следующее:
> 
>         proxy_cache one;
>         proxy_ignore_headers "Cache-Control" "Expires" "X-Accel-Redirect"
> "X-Accel-Expires";
>         proxy_cache_key $proxy_host$uri$is_args$args;
>         proxy_buffering on;
>         proxy_cache_min_uses 1;
>         proxy_cache_valid 404 502 1m;
>         proxy_cache_valid 200 301 302 304 10m;
>         proxy_cache_valid 503 4s;
>         proxy_cache_valid any 1h;
> 
> Вроде бы все верно, но папки кэша в /var/www/nginx_cache не создаются. При
> этом nginx запущен от пользователя nginx и является владельцем этой папки.
> Курение логово ошибок ничего путнего не показало, debug не делался.
> 
> Может быть кто-то подскажет в какую сторону посмотреть.

Посмотреть внимательно на заголовки, возвращаемые бекендом.  
Скорее всего там присутствует заголовок Set-Cookie - он по 
умолчанию запрещает кеширование.

Чтобы не запрещал - его надо добавить в proxy_ignore_headers.  В 
зависимости от семантики устанавливаемых кук - скорее всего имеет 
смысл также добавить proxy_hide_header Set-Cookie.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru