> 7 июня 2010 г. 16:01 пользователь Igor Sysoev <
igor@xxxxxxxxx> написал:
>
> > On Mon, Jun 07, 2010 at 03:06:54PM +0300, Alex Smorodin wrote:
> >
> > > Добрый день. ubuntu с ядром 2.6.27-11-generic,nginx version: nginx/
> > 0.7.65.
> > > Хочу настроить кэширование в nginx. На апач пропускаю все post
> > запросы,
> > > так же проверяю куку session, она устанавливаетcя, когда пользователь
> > > логинится, соответственно эти страницы мы не кэшруем. Проблема в
> > следующем:
> > > в кэш иногда попадают внутренние страницы сайта, если не устанавливать
> > > параметр "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;".
> > > Если его добавить, все работает нормально. Непонятно, как он может
> > влиять?
> > > Для проверки добавил в ключ proxy_cache_key куку session, так вот кука
> > > попадает в кэш (хотя явно прописано условие не кэшировать страницу).
> > > Вот конфиг:
> > > server {
> > > listen
192.168.0.32:9081;
> > > server_name
domain.com;
> > > access_log /var/log/nginx/
domain.com/nginx-access.log combined;
> > > error_log /var/log/nginx/
domain.com/nginx-error.log error;
> > > proxy_temp_path /var/cache/nginx/
domain.com;
> > > location @nocached {
> > > proxy_pass
http://192.168.0.32:81;<
> >
http://192.168.0.32:81/;>
> > > proxy_set_header Host
domain.com;
> > > proxy_set_header X-Real-IP $remote_addr;
> > > proxy_set_header X-Forwarded-For
> > $proxy_add_x_forwarded_for;
> > > }
> > > location / {
> > > proxy_pass
http://192.168.0.32:81;<
> >
http://192.168.0.32:81/;>
> > > proxy_set_header Host
domain.com;
> > > proxy_set_header X-Real-IP $remote_addr;
> > > proxy_set_header X-Forwarded-For
> > $proxy_add_x_forwarded_for;
> > > proxy_next_upstream error timeout invalid_header http_500
> > > http_503;
> > > if ($cookie_session) {
> > > return 412;
> > > }
> > > if ($request_method = POST ) {
> > > return 412;
> > > }
> > > error_page 412 = @nocached;
> > > proxy_cache one;
> > > proxy_cache_key
> > > "$request_method|$is_args|$host|$request_uri|$cookie_session";
> > > proxy_hide_header "Set-Cookie";
> > > proxy_ignore_headers "Cache-Control" "Expires";
> > > proxy_cache_valid 200 301 302 304 1h;
> > > }
> > > }
> >
> > Возьмите 0.8.40 и используйте такую конфигурацию:
> >
> > server {
> > listen
192.168.0.32:9081;
> > server_name
domain.com;
> > access_log /var/log/nginx/
domain.com/nginx-access.log combined;
> > error_log /var/log/nginx/
domain.com/nginx-error.log error;
> > proxy_temp_path /var/cache/nginx/
domain.com;
> >
> > location / {
> > proxy_pass
http://192.168.0.32:81;
> > proxy_set_header Host
domain.com;
> > proxy_set_header X-Real-IP $remote_addr;
> > proxy_next_upstream error timeout invalid_header http_500
> > http_503;
> > proxy_cache one;
> > proxy_no_cache $cookie_session;
> > proxy_cache_key
domain.com$uri?$args;
> > proxy_hide_header "Set-Cookie";
> > proxy_ignore_headers "Cache-Control" "Expires";
> > proxy_cache_valid 200 301 302 304 1h;
> > }
> > }
> >
> >
> > --
> > Игорь Сысоев
> >
http://sysoev.ru
> >
> > _______________________________________________
> > nginx-ru mailing list
> >
nginx-ru@xxxxxxxxx
> >
http://nginx.org/mailman/listinfo/nginx-ru
> >
>
>
>
> --
> С уважением,
> Смородин Александр
>
> mailto:
agsmorodin@xxxxxxxxx
> _______________________________________________
> nginx-ru mailing list
>
nginx-ru@xxxxxxxxx
>
http://nginx.org/mailman/listinfo/nginx-ru
--
Игорь Сысоев
http://sysoev.ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru