Pregunta

Estamos utilizando OpenSSO para autenticar a los usuarios en nuestras aplicaciones. Cada aplicación vive detrás del proxy inverso para que OpenSSO y cuando el usuario se autenticó, el nombre de usuario de SSO solía crear sesión de usuario en la aplicación.

OpenSSO implementado en el embarcadero en el puerto 8080 en el host admin.mynet, por lo que cuando se ejecuta sin proxy inverso es accesible a través de HTTP Admin.Mynet: 8080/OpenSSO

El servidor SSO debe ser accesible a través de un proxy inverso solamente y a través de HTTPS en el puerto 443, que sería traducido por Nginx a una resumen HTTP interna al puerto 8080. El nombre del host debe resolverse para proxy en lugar del servidor SSO. Por lo tanto, presionar HTTPS admin.mynet/OpenSso debería mostrar páginas SSO.

El problema es que tener esta configuración en funcionamiento, presionando https: //admin.mynet/opensso/ui/login SSO envía 302 con la ubicación http: //admin.mynet: 8080/opensso/ui/inicio de sesión. Por lo tanto, SSO no quiere manejar las solicitudes provenientes de

¿Fue útil?

Solución

Suponiendo una dirección IP de 10.0.0.10 para admin.mynet, el siguiente bloque debería funcionar:

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;
   }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top