与えられた:1つのマシンを指す2つのDNS名:「mysrv」と「myapp.mysrv」。このマシンには2つのIPアドレス(1.1.1.1と1.1.1.2)があります。
Myapp.mysrvの場合は1.1.1.1でIIS7をセットアップし、mysrvの場合は1.1.1.2でTomcatをセットアップする必要があります。
サーバーが80ポートで2つのリソース(mysrvとmyapp.mysrv)を提供する必要があります。
私がしたこと:Tomcatの設定(server.xml)で、コネクタ要素に「address」属性を追加します。
<Connector className="org.Apache.coyote.Tomcat4.CoyoteConnector" port="80" minProcessors="5"
address="1.1.1.2"
maxProcessors="75"
enableLookups="false" redirectPort="8443" acceptCount="10" />
そして
<Engine name="Standalone" defaultHost="mysrv" debug="0">
<Host name="mysrv" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="false">
次に、IIS Managerでサイトを作成し、そのバインドを次のように設定します:Type = http; Host Name = myapp.srv; Port = 80; IP Address = 1.1.1.1
しかし、サイトを開始しようとすると、(EventLogで)2つのエラーが発生します。1。WorldWide Web Publishing Service(WWW Service)がURLプレフィックスを登録しませんでした http://myapp.mysrv:80:1.1。 1.1 / サイト2の場合。サイトは無効になっています。データフィールドにはエラー番号が含まれています。
2. [::]:80の基になるトランスポートにバインドできません。 IPリッスン専用リストには、このマシンに存在しない可能性のあるインターフェイスへの参照が含まれている場合があります。データフィールドにはエラー番号が含まれています。
デフォルトでは、IISはマシン上のすべてのIPのポート80にバインドします。IIS 7でこの動作を無効にするには、IPを代入して次のコマンドを実行します聞きたいアドレスIIS:
netsh http add iplisten ipaddress=xxx.xxx.xxx.xxx
変更を有効にするには、IISを再起動する必要があります。
やってみてください:
httpcfg set iplisten -i 1.1.1.1:80
コマンドプロンプトから。それはソケットプーリングである可能性があります... IISはデフォルトですべてのIPをリッスンしたいので(Evanが言ったように)、Tomcatがそれらの1つを奪うとフィットをスローします。