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
|