0

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

OpenSSOはホストadmin.mynetのポート8080のJettyにデプロイされているため、リバースプロキシなしで実行している場合は、httpadmin.mynet:8080/openssoからアクセスできます。

SSOサーバーには、リバースプロキシ経由でのみアクセスでき、ポート443でhttps経由でアクセスできます。これは、nginxによってポート8080への内部http要求に変換されます。ホスト名はSSOサーバーではなくプロキシに解決される必要があります。したがって、https admin.mynet/openssoを押すと、SSOページが表示されます。

問題は、この構成を起動して実行し、https://admin.mynet/opensso/UI/Login SSOを押すと、場所http://admin.mynet:8080/opensso/UI/Loginで302が返されることです。したがって、SSOはからのリクエストを処理したくありません

4

1 に答える 1

0

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

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;
   }
}
于 2011-09-06T05:03:26.440 に答える