Windows 2012 R2 IIS 8.5.9600.16384 と Google Go Web サービスを並行して実行する

Windows 2012 R2 IIS 8.5.9600.16384 と Google Go Web サービスを並行して実行する

私のネットワーク アダプターは 3 つの IP4 アドレスを使用しています:

  • 1つの
  • b
  • c

IISは2つのサイトAとBを実行し、バインディングは

  • A>a:80
  • B>b:80
  • B>b:443

次のように、IIS を a と b をリッスンするように構成しました。

  • netsh http add iplisten ipaddress=a:80
  • netsh http add iplisten ipaddress=b:80
  • netsh http add iplisten ipaddress=b:443

netsh http show iplisten コマンドは次を表示します:

  • 1つの
  • b

Google Go Web サービスは IP4 アドレスで実行されます:

  • c

状況: この構成はWindows 2008 R2では問題なく動作します。Windows 2012 R2では最初は動作するように見えますが、サーバーを再起動するとGoogle Go Webサービスは動作しますが、サイトAとBは停止していますただし、手動で起動することができ、3 つのサイトすべてが再び稼働します。

アプローチ1: サイトAとBは稼働しています。Google Go Webサービスを無効にしてサービスを再起動します。しかし、サイトAとBはまだ止まっている再起動後。

アプローチ2: (Go Webサービスはまだ無効です) IISがリッスンするためのグローバルIPアドレス0.0.0.0を追加します。netssh http show iplistenは0.0.0.0、a、bを表示します。再起動後、サイトAとBは引き続き実行されます。ただし、0.0.0.0でリッスンすると、IPとポートが無効になるため、Google Go Webサービスの実行が妨げられます。現在ブロックされていますIIS によって。

質問: IIS がサイトを起動するのに 0.0.0.0 IP アドレスが必要なのはなぜですか? これは Windows Server 2012 R2 の欠陥のように見えます。IIS8.5 では他の欠陥も見つかったので、驚くことではありません。たとえば、標準 Web サイトの命名に文字 ? を使用できなくなりました。これは、一部の ISAPI モジュールで問題になります (xy.dll は記述できますが、xy.dll?start は記述できません)。3 つのサイトを同時に実行するにはどうすればよいですか? ご支援ありがとうございます。

答え1

システムの起動後にバッチ スクリプトですべてを起動するだけで十分でしょうか。最もエレガントな解決策ではないかもしれませんが、機能するはずです。

関連情報