8

在四个 Win Server 2008 R2 机器上,我们安装了 MS Deploy。它侦听端口 80 和 8172,这使网络上的所有其他材料都怀疑在 IIS 7 上运行时如何无需更改端口 80 默认值。

我无法理解。为什么它同时使用两个端口?我无法按照说明将其移至 8172,因为它已经在那里注册了一些东西。

它会导致两个问题:1) 我想关闭一个额外的攻击面 2) 它使我们的负载均衡器无法检测到 IIS 何时停止并且客户从 MsDepSvc 获得 404!

这太愚蠢了。

4

1 回答 1

16

我已经解决了这个问题。

世界上有两个 Web 部署。与 Web 管理服务 (WMSvc) 一起安装的一个,人们将其称为 Web Deploy,并通过 Visual Studio 通过 :8172/msdeploy.axd 使用它,然后是 Web Deploy,这是您安装的额外内容,允许从公共 Internet 发布。

一直以来,我和我的同事以及在不同公司共事过的人都在不必要地安装 Web Deploy,然后甚至没有使用它。

这就是我的理论。现在我将去禁用 MsDepSvc,看看它是否成立。

更新 1 - 这是不正确的。有点。

在一台新服务器上,我认为 Web Deploy 是 WMSvc 内置的,在我安装 Web Deploy 之前,我一直从 msdeploy.exe 收到 404.7 错误 - 因为一个名叫 Richard 的好人说“Web Deploy 向 WMSvc 注册了一个处理程序”。

哈!因此,部署本身并不是 WMSvc 的一部分。在安装 Web Deploy 之后,您最终会得到两个部署处理程序,一个在 WMSvc 中,另一个在专用的 Windows 服务 MsDepSvc 中,您可以禁用 MsDepSvc 以防止它占用端口 80 并欺骗您的负载均衡器以为服务器已启动当它下来!

通过 MSDeploy.exe 从 WMSvc 获取 404

于 2012-11-28T14:24:45.483 回答