ПРОЕКТЫ 


  АРХИВ 


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: Переменная сертификата и Authorization header.



Hello!

On Tue, Feb 14, 2012 at 10:30:07AM -0500, devox wrote:

> Добрый день!
> 
> Подскажите, существует ли возможность
> указать заголовку proxy_set_header Authorization
> текстовую базу соответствия серийного
> номера сертификата и логина/пароля в
> base64. Что-то на подобие соответствия ip
> адреса и логина/пароля, как здесь:
> 
> /etc/nginx/base.txt
> "geo $auth_base64 {
>     <remote_addr1>/32   <base64_1>;
>     <remote_addr2>/32   <base64_2>;
>     <remote_addrN>/32   <base64_N>;
>     default             <base64_for_default_address>
> }"
> 
> /etc/nginx/nginx.conf
> "....
> proxy_set_header Authorization "Basic $auth_base64";"
> 
> Задача в следующем: Front-end авторизует
> пользователя по сертификату,
> вытаскивает из сертификата переменную
> $ssl_client_serial, обращается к базе формата:
> 
>  $ssl_client_serial1   <base64_1>;
>  $ssl_client_serial2   <base64_2>;
>  $ssl_client_serialN   <base64_N>;
> 
> вытаскивает соответствующие
> логин/пароль в base64 и подставляет в
> заголовок для аутентификации на back-end
> сервере.
> 
> Хотелось бы узнать насколько это
> реализуемо, если реализуемо вообще. А
> если нет, то существую ли другие
> способы аутентификации пользователей
> по сертификату,  ввытаскивая из него
> переменные и подставляя их для
> back-end'овой аутентифкации.

Как раз для подобных задач существует модуль map, которые 
позволяет по одному значению получить другое.  Как-то так должно 
работать:

    map $ssl_client_serial $auth_base64 {
        ...
    }

    proxy_set_header Authorization "Basic $auth_base64";

Подробности тут:
http://nginx.org/ru/docs/http/ngx_http_map_module.html

Maxim Dounin

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


 




Copyright © Lexa Software, 1996-2009.