proxy_cache
Maxim Dounin
mdounin на mdounin.ru
Пн Апр 11 18:53:01 MSD 2011
Hello!
On Mon, Apr 11, 2011 at 06:22:50PM +0400, Anton Kiryushkin wrote:
> По Вашему совету изменил конфиг локейшена:
>
> proxy_cache one;
> proxy_ignore_headers Cache-Control Expires X-Accel-Redirect
> X-Accel-Expires Set-Cookie;
> proxy_hide_header "Set-Cookie";
> proxy_cache_key $proxy_host$uri$is_args$args;
> #proxy_cache_valid 200 100m;
> 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;
>
> По сути ничего не изменилось.
Тогда (в отсутствии ругани в error log) наиболее вероятная причина -
для обработки запроса используется другой location и/или вообще
другой конфиг.
Убедится что nginx -t не ругается; добавить в соответствующий
location что-нибудь вроде "add_header X-Test test;" и убедиться что
он присутствует в ответах.
> Как можно проверить, почему ничего не попадает в кэш?
Посмотреть внимательно в debug log.
Maxim Dounin
p.s. Please do not top-post. Thank you.
>
> 11 апреля 2011 г. 16:40 пользователь Maxim Dounin <mdounin at mdounin.ru>написал:
>
> > 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 mailing list
> > nginx-ru at nginx.org
> > http://nginx.org/mailman/listinfo/nginx-ru
> >
>
>
>
> --
> Best regards,
> Anton Kiryushkin,
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://nginx.org/mailman/listinfo/nginx-ru
Подробная информация о списке рассылки nginx-ru