質問

OpenSSOを使用して、アプリケーションでユーザーを認証しています。各アプリケーションは、OpenSSOのようにリバースプロキシの背後に存在し、ユーザーが認証されたとき、SSOのユーザー名はアプリケーションでユーザーセッションを作成するために使用されます。

openssoは、ホストadmin.mynetでポート8080でJettyに展開されたため、逆プロキシなしで実行すると、http admin.mynet:8080/openssoを介してアクセスできます

SSOサーバーは、NginxによってNginxによってポート8080に翻訳されるポート443のHTTPSのみを介してのみアクセスできる必要があります。ホスト名は、SSOサーバーではなくプロキシに解決する必要があります。したがって、https admin.mynet/openssoにヒットすると、SSOページが表示されます。

問題は、この構成を稼働させ、ヒットすることです https://admin.mynet/opensso/ui/login SSOは302を場所で送り返します http://admin.mynet:8080/opensso/ui/login. 。したがって、SSOはからのリクエストを処理したくありません

役に立ちましたか?

解決

admin.mynetの10.0.0.10のIPアドレスを仮定すると、次のブロックが機能するはずです。

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;
   }
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top