ПРОЕКТЫ 


  АРХИВ 


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: Maxim Dounin <mdounin@xxxxxxxxxx>
  • Date: Mon, 18 Mar 2013 18:53:22 +0400
  • In-reply-to: <20130318143453.GA23958@localhost>
  • References: <20130318132425.GA30673@localhost> <20130318134042.GB15378@mdounin.ru> <20130318143453.GA23958@localhost>

Hello!

On Mon, Mar 18, 2013 at 06:34:53PM +0400, Oleg wrote:

> 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. Я так понимаю, так
> не получится?

Совершенно верно.

-- 
Maxim Dounin
http://nginx.org/en/donation.html

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


 




Copyright © Lexa Software, 1996-2009.