Frage

Wir verwenden OpenSSO, um Benutzer in unseren Anwendungen zu authentifizieren. Jede Anwendung lebt hinter Reverse Proxy als OpenSSO und wenn der Benutzer authentifiziert wurde, Benutzername von SSO verwendet, um eine Benutzersitzung in der Anwendung zu erstellen.

OpenSSO wird in Port 8080 auf Host admin.mynet im Jetty bereitgestellt. Wenn Sie dies ohne Reverse -Proxy ausgeführt haben

Der SSO -Server sollte nur über Reverse -Proxy und über HTTPS auf Port 443 zugegriffen werden, was von Nginx in eine interne HTTP -Resquest in Port 8080 übersetzt wird. Der Hostname muss eher auf Proxy als SSO -Server gelöst werden. Das Drücken von Https admin.mynet/openSso sollte SSO -Seiten anzeigen.

Das Problem ist, dass diese Konfiguration in Betrieb genommen wird, das klicken https: //admin.mynet/openso/ui/login SSO sendet 302 mit Standort zurück http: //admin.mynet: 8080/openSo/UI/Login. SSO möchte also keine Anfragen ausgehen, die von stammen

War es hilfreich?

Lösung

Unter der Annahme einer IP -Adresse von 10.0.0.10 für admin.mynet sollte der folgende Block funktionieren:

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;
   }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top