6

我有一个具有完全管理员访问权限的远程 Web 服务器,并且我想部署一个网站。

当我使用 Visual Studio 的发布工具时,除了其他看起来不太方便的工具(FTP 等),我可以选择使用 Windows 管理服务或远程代理服务。所有文档都说是这样的:

要通过远程代理服务远程发布,请使用 http://RemoteComputerName。此选项通常用于在网络内(在 Intranet 场景中)部署 Web 应用程序。您必须具有适当的权限才能在目标服务器上执行部署。

要使用 Windows 管理服务发布到托管站点,请使用托管服务提供商指定的值。您通常可以仅使用服务器名称 (HostedRemoteServer) 或包含服务器名称、端口号和 Web 部署处理程序名称 ( https://HostedRemoteServer:8172/MsDeploy.axd ) 的完整 URL。托管服务提供商可以告诉您服务器的名称和端口号(如果适用)。

不过,这还不足以让我做出决定。是的,我不是通过网络发布,但我确实可以完全访问我正在部署的机器。同时,MsDeploy 是 Scott Hanselman在他的演讲中描述的最奇特的东西,我一直相信它是一种很棒的部署方式。

那我应该怎么做?是否有任何模糊的安全考虑或任何东西?

4

1 回答 1

4

我建议走管理服务路线。除了 msdeploy 功能外,管理服务功能还使您能够从您的计算机远程管理 IIS 7/7.5。使用一个控制台中的所有 IIS 服务器,您可以轻松地在一台机器上导出应用程序并将其导入到另一台机器上。

从安全配置的角度和配置的角度来看,这似乎是最复杂的 msdeploy 实现。IIS 管理器允许您轻松配置端点周围的详细信息(SSL 证书、端口等)。嗯.. 在 Windows 2008 和 R2 上的 IIS 7/7.5 上确实如此,但在 Windows Vista 或 7 上则不然。出于某种奇怪的原因,非服务器 SKU 上的 Web 管理设置没有 UI。

该代理基本上是一个自包含的 Web 服务器,没有任何用户级权限功能。这就是为什么它要求进行远程部署的人在目标机器上具有管理员权限。感觉就像一个更简单的裸机实现。由于您已经让 IIS 为 HTTP/HTTPS 提供服务,并且由于 IIS 的 HTTP 实现具有内核级优化,因此通过代理路由并没有真正获得任何好处。

如果您想从 Windows Vista/7 远程管理 Windows 2008 或 R2,请将其安装在您的工作站上: http: //www.microsoft.com/downloads/en/details.aspx? FamilyID=32c54c37-7530-4fc0-bd20- 177a3e5330b7 ...这对我来说是锦上添花。

于 2010-11-24T19:02:10.007 回答