逆プロキシリダイレクトの問題の背後に走るopensso
-
26-10-2019 - |
質問
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;
}
}
所属していません StackOverflow