web-dev-qa-db-ja.com

iis7.5プロキシSSLの問題の背後に埋め込まれたTomcat7

私はiis7.5プロキシサーバーの背後に埋め込まれたTomcat7を使用しており、リクエストはarrでTomcatに転送されます。

Iisがsslを要求するように設定されていない限り、すべてが正常に機能します。

その場合、Tomcatの.jspファイルで動的に生成されるリンクなどは正しく機能しません。 たとえばリンクがhttps://somewhere.com:443を指すことになっている場合、それはhttp://somewhere.com:8080として書き込まれます(8080はTomcatが実行されているポートです)。

この問題は、Tomcatがhttp://somewhere.com:8080で実行されていることを正しく認識しているURLを構築するために自分自身を調べたときに発生しているようですが、そうではないと考える必要があります。

Iisとtomcatの間でsslを使用せずにこれを達成する方法を知っている人はいますか?

2
user1058410

この問題は、Tomcatがアプリケーションの実際の外部URLを認識していないことが原因です。アプリケーションが相対URLにリダイレクトすると、サーブレットは完全な絶対URLをLocationに追加します(必要に応じて)。

HTTPとTomcatの間でIISを使用している場合、TomcatはHTTPを使用していると見なし、http://...絶対URLを生成します。

このソリューションでは、HTTPとTomcatの間でHTTPS(またはIIS)を使用していません。
AJP13プロトコルとIISTomcat-ISAPI Redirectorを使用する必要があります。
これが公式のTomcat + IISの方法です

プロキシとしてApacheを使用すると、プロキシにHTTPを使用できますが、Apacheのmod_proxyを構成し、Tomcatにプロキシの背後にあることを伝える必要があります。 そのプロセスの方法は次のとおりです

1
Nicus