ПРОЕКТЫ 


  АРХИВ 


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: порядок прохождения http-фаз сервера


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: порядок прохождения http-фаз сервера
  • From: Oleg <lego12239@xxxxxxxxx>
  • Date: Mon, 18 Mar 2013 18:34:53 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1363617500; bh=kgN+yd/Q6qzx+VZWUA5saOBoOIszi0eEcrPHSRUfb4I=; h=Date:From:To:Subject:Message-ID:Reply-To:Mail-Followup-To: References:MIME-Version:Content-Type:Content-Disposition: Content-Transfer-Encoding:In-Reply-To:User-Agent; b=lfMh7hzEB65m/l4XIbRe14j7hyjEGBjX9PD3YvNUOxXOW0MQKAksNFtpfqq9k9I9C AGBW2Xvn7AWChZGaRMtPKI/92kOoL5ZHpbBBX0710DO9yYWe+M1wx2j1MleA+1TFMJ rY3JWqIY9p9pGqv9kBdbnQNAbhJT8AWNGYII0e1o=
  • In-reply-to: <20130318134042.GB15378@mdounin.ru>
  • Mail-followup-to: nginx-ru@xxxxxxxxx
  • References: <20130318132425.GA30673@localhost> <20130318134042.GB15378@mdounin.ru>

On Mon, Mar 18, 2013 at 05:40:42PM +0400, Maxim Dounin wrote:
> Hello!
> 
> On Mon, Mar 18, 2013 at 05:24:25PM +0400, Oleg wrote:
> 
> >   Привет всем.
> > 
> >   Фазы сервера:
> > 
> > typedef enum {
> >     NGX_HTTP_POST_READ_PHASE = 0,
> > 
> >     NGX_HTTP_SERVER_REWRITE_PHASE,
> > 
> >     NGX_HTTP_FIND_CONFIG_PHASE,
> >     NGX_HTTP_REWRITE_PHASE,
> >     NGX_HTTP_POST_REWRITE_PHASE,
> > 
> >     NGX_HTTP_PREACCESS_PHASE,
> > 
> >     NGX_HTTP_ACCESS_PHASE,
> >     NGX_HTTP_POST_ACCESS_PHASE,
> > 
> >     NGX_HTTP_TRY_FILES_PHASE,
> >     NGX_HTTP_CONTENT_PHASE,
> > 
> >     NGX_HTTP_LOG_PHASE
> > } ngx_http_phases;
> > 
> >   проходят в порядке их перечисления?
> 
> Да.
> 
> (Называется это обычно "фазы обработки запроса".)

  Т.е. сделать редирект в конфиге на основе результата аутентификации не
получится, я правильно понимаю?
  Например, надо сделать в случае неудачной аутентификации редирект на страницу
с логином/паролем:

  location = /login {
    # тут страница для аутентификации и редиректом на /user/$USERNAME в случае
    # удачи.
    fastcgi_pass 127.0.0.1:9000;
    include fastcgi_params;
    fastcgi_param SERVER_NAME $http_host;
  }
  location /user/user1 {
    # аутентификация по cookie, полученном в локации /login
    auth_cookie "CGISESSID";
    auth_cookie_path "/tmp";

    # cookie кончился
    if ( $auth_cookie_fail ) {
      return 302 http://$host/login;
    }

    proxy_pass http://127.0.0.2:2001/;
    include proxy_params;
  }

  $auth_cookie_fail устанавливается модулем auth_cookie. Я так понимаю, так
не получится?

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


 




Copyright © Lexa Software, 1996-2009.