Мои сетевые адаптеры используют три IP4-адреса:
IIS работает на двух сайтах: A, B и привязка
Я настроил IIS для прослушивания a и b следующим образом:
Команда netsh http show iplisten показывает:
Веб-сервис Google Go работает на IP4-адресе:
Ситуация: эта конфигурация отлично работает в Windows 2008 R2. В Windows 2012 R2 кажется, что сначала он запускается, НО после перезапуска сервера веб-сервис Google Go работает, но сайты A и B остановлены. Однако я могу запустить их вручную, и все три сайта снова заработают.
Подход 1: Сайты A и B работают. Теперь я отключаю Google Go Webservice и перезапускаю службу. Но сайты A и B все еще остановился после перезагрузки.
Подход 2: (Веб-сервис Go все еще отключен) Теперь я добавляю глобальный IP-адрес 0.0.0.0, который будет прослушивать IIS. Итак, netssh http show iplisten показывает: 0.0.0.0, a, b. После перезагрузки сайты A и B все еще работают. Однако прослушивание 0.0.0.0 не позволяет запускать веб-сервис Google Go, потому что его IP-адрес и порт сейчас заблокирован от IIS.
Вопрос: Почему IIS нужен IP-адрес 0.0.0.0 для запуска сайтов? Мне это кажется недостатком в Windows Server 2012 R2. В IIS8.5 я обнаружил и другие недостатки, поэтому не удивлюсь - например, вы не можете использовать символ? в названии стандартного веб-сайта больше нет проблем с некоторыми из наших модулей ISAPI (вы можете написать xy.dll, но не xy.dll? start). Что я могу сделать, чтобы три сайта работали одновременно? Спасибо за поддержку.
Достаточно ли запустить их все пакетным скриптом после того, как система заработает? Возможно, не самое элегантное решение, но оно должно работать.