ПРОЕКТЫ 


  АРХИВ 


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: nginx 0.8.53, проблема с кэшем



Today Dec 28, 2010 at 14:09 Alex Khrenov wrote:

> Конфиг был в первом письме вроде.
> Повторяю:

>     location / {
>         if ($cookie_dle_user_id) { return 412; }
>         if ($cookie_dle_password) { return 412; }
>         if ($request_method = POST ) { return 412; }

  Если специально не указывать POST в proxy_cache_methods, то он и так не будет 
закэширован.
  А эти cookie нужно просто перечислить в proxy_cache_bypass и proxy_no_cache:
  http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_cache_bypass
  http://sysoev.ru/nginx/docs/http/ngx_http_proxy_module.html#proxy_no_cache

>         error_page 412 = @nocached;
>         include /usr/local/etc/nginx/conf/cache;
>         proxy_pass         http://127.2.0.1:2190/;

  Уберите "/" в конце.

> /usr/local/etc/nginx/conf/cache:
> proxy_cache one;
> proxy_cache_key "$request_method|$is_args|$host|$request_uri";

  Если не кэшировать POST-ты, то $request_method не нужен - при HEAD nginx 
отправит к backend-у запрос GET, закэширует ответ с телом, но отдаст только 
заголовки.
  $is_args вообще ничего полезного тут не делает.
  Ключ, который Вы хотите, скорее всего должен выглядеть так: proxy_cache_key 
"$host|$uri$is_args$args";

> proxy_hide_header "Set-Cookie";
> proxy_ignore_headers "Cache-Control" "Expires";

  http://sysoev.ru/nginx/changes.html
  0.8.44 05.07.2010 
  Изменение: теперь nginx по умолчанию не кэширует ответы бэкендов, в заголовке 
которых есть строка "Set-Cookie". 

  Нужно изменить так: proxy_ignore_headers Set-Cookie Cache-Control Expires; 

-- 
WNGS-RIPE

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


 




Copyright © Lexa Software, 1996-2009.