ПРОЕКТЫ 


  АРХИВ 


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: Уточнение логики работы 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


 




Copyright © Lexa Software, 1996-2009.