私は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を使用せずにこれを達成する方法を知っている人はいますか?
この問題は、Tomcatがアプリケーションの実際の外部URL
を認識していないことが原因です。アプリケーションが相対URLにリダイレクトすると、サーブレットは完全な絶対URLをLocationに追加します(必要に応じて)。
HTTP
とTomcatの間でIIS
を使用している場合、TomcatはHTTP
を使用していると見なし、http://...
絶対URL
を生成します。
このソリューションでは、HTTP
とTomcatの間でHTTPS
(またはIIS
)を使用していません。AJP13
プロトコルとIIS
のTomcat-ISAPI Redirector
を使用する必要があります。
これが公式のTomcat + IISの方法です 。
プロキシとしてApacheを使用すると、プロキシにHTTPを使用できますが、Apacheのmod_proxy
を構成し、Tomcatにプロキシの背後にあることを伝える必要があります。 そのプロセスの方法は次のとおりです 。