Mod_auth_oracle + nginx

Maxim Dounin mdounin на mdounin.ru
Вт Авг 17 13:53:34 MSD 2010


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