Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Уточнение логики работы ngx_http_auth_request_module
Hello!
On Wed, Nov 06, 2013 at 03:53:09PM +0400, Eugene Mychlo wrote:
> Добрый день,
>
> 05 нояб. 2013 г., в 0:19, Maxim Dounin <mdounin@xxxxxxxxxx> написал(а):
>
> [?]
>
> >
> > Модуль auth_request не пытается реализовывать каких-либо
> > протколов сам, он просто делает подзапрос. Точно так же, как это
> > делает SSI или модуль addition.
> >
> > Настроить необходимую обработку для соответствующего URI, который
> > вы используете в auth_request - ваша задача, будь то проксирование
> > или что-либо ещё.
>
> [?]
>
> Раз возник топик про логику auth_request, задам и я пару уточняющих воросов:
>
> 1. Что вернется клиенту, если auth-подзапрос вернет код отличный от 200, 403
> и 401, скажем 404 или 301, или 5xx?
Клиенту уйдёт 500, в логах появится запись "[error] ... auth
request unexpected status: 404 ...".
> 2. Есть ли возможность в основном запросе получить, в виде переменных,
> заголовки возвращаемые auth-подзапросом?
> Просто есть желание заменить X-Accel-Redirect, и проксировать на разные
> бэкенды в зависимости от того, что вернул auth-бэкенд.
Антон уже отписал, директива auth_request_set - позволяет вынуть
данные из заголовков ответа бекенда и сложить их в переменные.
Использовать можно как-то так:
location / {
auth_request /auth;
auth_request_set $backend $upstream_http_x_backend;
proxy_pass http://$backend;
}
http://nginx.org/r/auth_request_set
--
Maxim Dounin
http://nginx.org/en/donation.html
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|