OpenSSO, бегущий за обратным прокси -перенаправлением
-
26-10-2019 - |
Вопрос
Мы используем OpenSSO для аутентификации пользователей в наших приложениях. Каждое приложение живет за обратным прокси, так как OpenSSO и когда пользователь аутентифицировал, имя пользователя из SSO используется для создания пользовательского сеанса в приложении.
OpenSso развернуто в приличке на порту 8080 на хосте admin.mynet, поэтому при запуске без обратного прокси -сервера он доступен через http admin.mynet: 8080/opensso
SSO -сервер должен быть доступен только через обратный прокси и через HTTPS на порту 443, который будет переведен NGINX на внутренний HTTP Resquest на порт 8080. Имя хоста должно быть разрешено на прокси, а не SSO -сервер. Таким образом, нажимать https admin.mynet/opensso должен показывать страницы SSO.
Проблема в том, что эта конфигурация запускается, нажимая https: //admin.mynet/openso/ui/login SSO отправляет обратно 302 с местоположением http: //admin.mynet: 8080/opensso/ui/login. Анкет Таким образом, SSO не хочет обрабатывать запросы, поступающие из
Решение
Предполагая IP -адрес 10.0.0.10 для admin.mynet, должен работать следующий блок:
server {
listen 443;
server_name admin.mynet;
ssl on;
location / {
proxy_pass http://10.0.0.10:8080;
proxy_set_header X-Real-IP $remote_addr;
}
location /opensso {
proxy_pass http://10.0.0.10:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host admin.mynet:8080;
}
}