ПРОЕКТЫ 


  АРХИВ 


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: Изменить заголовок( и) set -cookie после получения отв ета от backend'а



В Втр, 09/03/2010 в 14:11 +0200, Богун Дмитрий пишет:
> В Втр, 09/03/2010 в 13:54 +0300, Daniel Podolsky пишет:
> > > Если мы все время будем рубать выставление куки клиентам, то как она у
> > > них будет появляться?
> > а распишите диаграмму прохождения запроса, такую, какая вам нужна. и
> > будет о чем разговаривать.
> Я кажется понял как это можно сделать, нужно просто завести "точку
> авторизации" как отдельный location и разрешить ему выдавать set-cookie.
> Нужно попробовать заработает ли оно с существующей системой, так как
> задуманно или думать дальше.

Вот что у меня получилось:

proxy_cache_path /var/cache/nginx/2.byaka.net levels= 
keys_zone=cache_byaka_2:32m;

server {
    listen      a.b.c.d;

    server_name 2.byaka.net;

    access_log  /var/log/nginx/2.byaka-access.log generic;
    error_log   /var/log/nginx/2.byaka-error.log info;
    
    root        /srv/$host/www/htdocs;
    expires     4h;

    error_page 402 = @direct_access;

    location / {
        if ($cookie_PHPSESSID) {
            return 402;
        }

        proxy_pass       http://upstr_self;

        proxy_set_header Host             $host;
        proxy_set_header Cookie           "";
        proxy_set_header X-Real-IP        $remote_addr;
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;

        proxy_cache cache_byaka_2;
        proxy_cache_valid 200 301 302 304 2m;
        proxy_cache_use_stale updating error;
        proxy_cache_key 
"$http_if_modified_since|$http_if_none_match|$host$request_uri?$args";

        proxy_hide_header "Set-Cookie";
        proxy_ignore_headers "Cache-Control" "Expires";
        proxy_ignore_client_abort on;
    }
    location ~ /byaka/(login|registration) {
        return 402;
    }
    location @direct_access {
        proxy_pass       http://upstr_self;

        proxy_set_header Host             $host;
        proxy_set_header X-Real-IP        $remote_addr;
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
    }

    # serve static pages    
    location /upload/ { }
    location /templates/default/js/ { }
    location /templates/default/css/ { }
    location /templates/default/images/ { }
    location = /blank.gif { }
    location = /favicon.ico { }
}

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


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


 




Copyright © Lexa Software, 1996-2009.