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