Opensso работает из-за проблемы перенаправления обратного прокси-сервера

Мы используем opensso для аутентификации пользователей в наших приложениях. Каждое приложение находится за обратным прокси-сервером, таким как OpenSSO, и когда пользователь аутентифицируется, имя пользователя из SSO используется для создания пользовательского сеанса в приложении.

OpenSSO развернут в Jetty на порту 8080 на хосте admin.mynet, поэтому при работе без обратного прокси-сервера он доступен через http admin.mynet:8080/opensso

Сервер SSO должен быть доступен только через обратный прокси-сервер и через https на порту 443, который будет преобразован nginx во внутренний http-запрос на порт 8080. Имя хоста должно быть разрешено для прокси-сервера, а не для сервера SSO. Таким образом, при нажатии https admin.mynet/opensso должны отображаться страницы SSO.

Проблема в том, что если эта конфигурация запущена и запущена, нажатие https://admin.mynet/opensso/UI/Login SSO отправляет обратно 302 с адресом http://admin.mynet:8080/opensso/UI/Login. Таким образом, SSO не хочет обрабатывать запросы, поступающие от


person vanyak    schedule 06.09.2011    source источник


Ответы (1)


Предполагая, что 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;
   }
}
person Eicar Gtube    schedule 06.09.2011