ПРОЕКТЫ 


  АРХИВ 


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: Кэширование+поддомены


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Кэширование+поддомены
  • From: "a-25" <nginx-forum@xxxxxxxx>
  • Date: Mon, 19 Jul 2010 08:53:05 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mickey.jlkhosting.com; s=x; h=Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=VvQW9tpnjiqd6t10+A4NU16qtYlGE8M8leHK7eWl8ms=; b=jWhJ/Pn70T6z9YkoYGOhCDhG90XJzdbCXBYwDHJZpfqQWvg4bqkoasIjF4L7d9B0Ilz3joRzuP92Ny0mBKsf0aJbvkc6SGl4WOWFpZHXm7dYabxq8mQ4O0q2EJBu09tY;
  • In-reply-to: <20E975C2-B754-4902-A9BA-AF9C26B6FEB9@xxxxxxxxx>
  • References: <20E975C2-B754-4902-A9BA-AF9C26B6FEB9@xxxxxxxxx>

Peter Leonov Wrote:
-------------------------------------------------------
> Рекомендую показать конфиг
> (у нас тут так принято).
> 

Хорошо, попытаюсь выкинуть все лишнее.
Конфиг без ненужного:

proxy_cache_path /var/cache/nginx levels= keys_zone=wholepage:10m;

server {
..................................
                 location / {
........................................................
                        if ($needToCache = '111111')
                        {
                                return 412;
                        }
                        error_page 412 = @caching;
               }

               location @caching {
                               internal;
                                
                                
                                proxy_pass http://127.0.0.1:8080;
                                proxy_redirect http://myhost.com:8080/ /;
                                proxy_set_header Host myhost.com;
                                proxy_set_header X-Forwarded-For 
$proxy_add_x_forwarded_for;
                                proxy_set_header X-Real-IP $remote_addr;


                                #if the language cookie is empty, fill it with 
russian
                                set $currentLanguage '';
                                if ($http_cookie ~* 
'^(.*)myhost_lang=([a-z]{1,3})(.*)$'){
                                        set $currentLanguage $2;
                                }
                                
                                if ($currentLanguage = '')
                                {
                                        set $currentLanguage 'ru';
                                }
                                
                                
                                # Turn on cache
                                proxy_cache wholepage;
                                proxy_cache_valid 200 301 302 304 30s;
                                proxy_cache_key
"$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri|$currentLanguage";
                                # Guarantee that different users won't receive 
session cookies
                                # Turn off cookies
                                proxy_hide_header "Set-Cookie";
                                # Make nginx ignore php-cache headers
                                # and cache a page in any case
                                proxy_ignore_headers "Cache-Control" "Expires";
              }
}



> Предполагаю, что у вас на
> все поддомены одна зона
> кеширования. Можете  
> разбить зоны кеша по
> доменам?

Да, зона одна. Разбить могу, видимо, это
проблему сразу решит. Да, собственно,
проблему я и так решил, мне просто
непонятно, действительно ли nginx не
учитывает в url-е хост и считает его
одинаковым у всех запросов.
> 
> On 18.07.2010, at 15:53, "a-25"  wrote:
> 
> > Ключ такой:
> >
> > proxy_cache_key
> >
> "$request_method|$http_if_modified_since|$http_if_
> none_match|$host| 
> > $request_uri|$currentLanguage";
> >
> > где $currentLanguage - язык
> страницы (берется из
> > куки, сайт многоязычный).
> >
> > В ключе $host есть.
> >
> > Posted at Nginx Forum:
> http://forum.nginx.org/read.php?21,110119,110147#m
> sg-110147
> >
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru@xxxxxxxxx
> > http://nginx.org/mailman/listinfo/nginx-ru
> 
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,110119,110452#msg-110452


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


 




Copyright © Lexa Software, 1996-2009.