web-dev-qa-db-ja.com

IIS +同じマシン上のTomcat

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を使用することにはメリットまたはペナルティがありますか?

3
Ermal

ポート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で直接リッスンできるようになります。

4
Shane Madden