Приветствую!
Пытаюсь настроить что-то вроде авторизационной прокси (авторизовавшись в 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";
}
При этом, если бекенд доступен по протоколу http, всё проходит замечательно. А с https начинаются разные чудеса: post-запрос отрабатывает в 1 случае из 100, в основном получаю 502.
С чем может быть связано такое поведение?
Можно ли "подменять" тело запроса таким образом в ssl сессии?