OSがWindowsServer 2008 R2Enterpriseである同じマシンでTomcat7とIIS 7.5を実行する必要があります。
マシンに関連付けられているIPアドレスは1つだけNIC、5つ)です。
- 192.0.2.1, 192.0.2.2 for IIS
- 192.0.2.3, etc for Tomcat
ポート80はIISによって使用されます。
IISサイトへの呼び出しは、マッピングwww.site1.com => 192.0.2.1:80
により、ユーザーがURLに名前を入力するだけで、デフォルトのポート80が表示されないため、問題はありません。
しかしTomcatはポート80を使用できません。
IISを使用して、ドメイン名に基づいて着信HTTP要求を解析し、別のポートでリッスンしているTomcatに適切なトラフィックを送信できます。
たとえば、www.tomcatapp.com
はIISからTomcatもリッスンしている192.0.2.3:8080
にリダイレクトされます。
または使用せずに、IIS "ユーザーにTomcatサイトをwww.tomcatapp.com:8080
として呼び出すように強制する
別のより賢い方法になることができますか?
なぜIISは5つのIPすべてのポート80を「ブロック」しているのですか?
IISの背後でTomcatを使用することにはメリットまたはペナルティがありますか?
ポート8080までリダイレクトすることの欠点は、ポート8080までリダイレクトすることです。ユーザーのアドレスバーにそれが表示されますが、これはちょっと専門的ではないように見えます。さらに、一部の企業ファイアウォールとWebフィルターは、ポート8080へのアクセスをブロックするため、顧客によっても問題になる可能性があります。
IPの1つをTomcatWebアプリ専用にすることができる場合(またはすでにこの方法である場合)、実際にIISを取得して、そのポートのバインドを停止できます。
netsh http add iplisten 192.0.2.1
netsh http add iplisten 192.0.2.2
netsh http show iplisten
ここで、192.0.2.1と192.0.2.2は、IISポート80にバインドするアドレスです。それが完了したら、IISサービスを再起動します。-を参照してください。 ここ 参照用。
これにより、TomcatをバインドするIPアドレスのポート80が解放され、Tomcatで直接リッスンできるようになります。