ssl,post,proxy_set_body

Igor Sysoev igor на sysoev.ru
Вт Июн 28 14:22:16 MSD 2011


On Mon, Jun 27, 2011 at 01:20:51PM -0400, unlo wrote:
> Приветствую!
> 
> Пытаюсь настроить что-то вроде
> авторизационной прокси
> (авторизовавшись в nginx, пользователи
> могут посещать требующие авторизацию
> ресурсы без авторизации на этих
> ресурсах).
> Для того, чтобы при посещении браузером
> некоей локации /login, проходила
> авторизация на удалённом бекенде,
> использую конструкцию:
> 
> location ~ ^/login$ {
> 
> rewrite  ^(.*)$ /login.php break;
> 
> proxy_ssl_session_reuse off;
> 
> proxy_method POST;
> proxy_set_header   Host             backend:443;
> 
> proxy_set_header  Cookie  "";
> proxy_set_header  Cache-Control "";
> proxy_set_header   Connection close;
> proxy_set_header   Content-Type application/x-www-form-urlencoded;
> 
> proxy_pass         https://backend:443$uri$is_args$args;
> 
> proxy_set_body    "passwd=somepass&login_name=admin";
> 
> }

А зачем эти регулярные выражения, брэки и прочее ? Вместо

 location ~ ^/login$ {
    rewrite  ^(.*)$ /login.php break;
    proxy_pass         https://backend:443$uri$is_args$args;

достаточно

location = /login {
    proxy_pass         https://backend:443/login.php;


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru