Windows 2012 R2 IIS 8.5.9600.16384 与 Google Go Webservice 并行

Windows 2012 R2 IIS 8.5.9600.16384 与 Google Go Webservice 并行

我的网络适配器使用三个 IP4 地址:

  • A
  • b
  • C

IIS 运行两个站点:A、B,绑定是

  • 答:80
  • B> B:80
  • B> B:443

我将 IIS 配置为监听 a 和 b,如下所示:

  • netsh http 添加 iplisten ipaddress=a:80
  • netsh http 添加 iplisten ipaddress=b:80
  • netsh http 添加 iplisten ipaddress=b:443

命令 netsh http show iplisten 显示:

  • A
  • b

Google Go Webservice 在 IP4 地址上运行:

  • C

情况:此配置在 Windows 2008 R2 上运行良好。在 Windows 2012 R2 上,它最初似乎可以运行,但重新启动服务器后,Google Go Webservice 正在运行,但站点 A 和 B 已停止。但是我可以手动启动它们,并且所有三个站点都可以再次运行。

方法 1:站点 A 和 B 正在运行。现在我禁用 Google Go Webservice 并重新启动服务。但站点 A 和 B仍然停止重启后。

方法 2:(Go Webservice 仍处于禁用状态)我现在为 IIS 添加全局 IP 地址 0.0.0.0 以进行监听。因此 netssh http show iplisten 显示:0.0.0.0, a, b。重启后,站点 A 和 B 仍在运行。但是,监听 0.0.0.0 确实会阻止 Google Go Webservice 运行,因为它的 IP 和端口是现已被封锁由 IIS 提供。

问题:为什么 IIS 需要 0.0.0.0 IP 地址来启动站点?在我看来,这似乎是 Windows Server 2012 R2 中的一个缺陷。在 IIS8.5 中,我还发现了其他缺陷,因此我并不感到惊讶 - 例如,您不能再在标准网站的命名中使用字符 ?,这对我们的一些 ISAPI 模块来说是个问题(您可以编写 xy.dll,但不能编写 xy.dll?start)。我现在该怎么做才能让这三个站点同时运行?感谢您的支持。

答案1

系统启动后,用批处理脚本启动它们就足够了吗?也许这不是最优雅的解决方案,但它应该可行。

相关内容