ПРОЕКТЫ 


  АРХИВ 


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: Mod_auth_oracle + nginx



Hello!

On Tue, Aug 17, 2010 at 01:38:36PM +0400, Sergey Shepelev wrote:

> > Как можно организовать сие "чудо"?
> >
> 
> proxy_pass на маленький бекенд, который лезет в базу, проверяет (и
> важно не делать бекенд блокирующимся) и

Почему важно?  Бекенд - не внутри nginx'а, никому кроме себя 
самого мешать не будет.  Тут как раз всё равно какой бекенд, можно 
хоть на php написать.

> Вариант 1: ... и возвращает 200 с телом "allow" или "deny".
> mod_eval кладёт ответ в переменную и вы пишете if ($..) { deny all;
> тут ещё наверно break надо поставить }
> 
> Вариант 2: ... и возвращает X-Accel-Redirect на этот же самый урл +
> ставит заголовок X-Oracle-Auth: allow/deny.
> В локейшне сделаете
> if ($http_x_oracle_auth = "allow") { нормальная обработка, например
> root /var/vam/dam; тут ещё наверно break надо поставить }
> if ($http_x_oracle_auth = "deny") { deny all; тут ещё наверно break
> надо поставить }
> (а тут идёт этот proxy_pass на проверяющий бекенд)

Вот чтобы так не извращаться - был некоторое время назад сделан 
модуль auth_request.  Для целей аутентификации и авторизации он 
подходит несколько лучше чем eval.

http://mdounin.ru/hg/ngx_http_auth_request_module/

Maxim Dounin

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


 




Copyright © Lexa Software, 1996-2009.