Domanda

Stiamo usando OpenSSO agli utenti l'autenticazione nostre applicazioni. Ogni vite di applicazione dietro proxy inverso in modo da OpenSSO e quando l'utente autenticato, il nome utente da SSO usati per creare sessione utente nell'applicazione.

OpenSSO distribuito in Jetty sulla porta 8080 sulla admin.mynet host in modo quando si esegue senza proxy inverso è accessibile tramite http admin.mynet: 8080 / OpenSSO

server SSO deve essere accessibile solo tramite e tramite HTTPS sulla porta 443 che sarebbe tradotto da nginx ad un interna http resquest alla porta 8080. Le esigenze nome host da risolvere per delega piuttosto che server SSO reverse proxy. Quindi colpire https admin.mynet / OpenSSO dovrebbe mostrare pagine SSO.

Il problema è che avendo questa configurazione attivo e funzionante, colpendo https: //admin.mynet/opensso/ UI / login SSO rimanda 302 con la posizione http: //admin.mynet: 8080 / OpenSSO / UI / login . Così SSO non vuole gestire le richieste provenienti da

È stato utile?

Soluzione

Assuming an ip address of 10.0.0.10 for admin.mynet, the following block should work:

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;
   }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top