通过 MSDeploy.exe 从 WMSvc 获取404

从 Windows 8到安装并运行 Web 管理服务的 Windows Server 2012(IIS 8) ,我可以使用 W8上的 IIS Manager 来管理远程服务器,但是当我执行以下命令时,我会从 WMSvc 得到一个404.7:

msdeploy.exe" -verb:dump -source:contentPath=c:\InetPub\wwwroot,computerName=https://uktnws01:8172/MsDeploy.axd,userName=corp\administrator,password=WMSvcIsCrap,authType=Basic -allowUntrusted

我尝试了各种组合和参数。我可以远程连接到那个端口,我知道它是开放的。

我只是从 Windows 中删除管理服务功能并重新启动。我去给自己倒杯苏格兰威士忌,做点零食。与此同时,如果你有任何想法,请分享。

请加入我的直播博客,关注下面的行动。

更新1

随着管理服务的删除,我现在得到

错误: 无法连接到远程服务器错误: 没有连接 因为目标机器主动地拒绝了它 192.168.2.22:8172错误计数: 1。

第二行是一条新的信息。

更新2

好吧,现在情况越来越糟了。重新安装后,远程 IIS 控制台将对证书发出警报,然后说,

服务器不接受远程连接。

但我认为这是因为我可能没有重新启用远程管理,除了安装该死的东西。

更新3

启用远程管理后,远程 IIS 将再次工作,但404已返回。只是为了搜索引擎优化的利益,这里有一个完全错误:

Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("uktnws01"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.  Learn more at http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Error: The remote server returned an error: (404) Not Found.
Error count: 1.

更新4

尝试同样的命令对另一个网络服务器通过 VPN 的客户端和工程的魅力!看来 IIS 在我2012年的全新版本上被搞砸了。

更新5

我为 WMSvc 启用了失败的请求跟踪,发现404.7来自 RequestFilteringModule 模块。根据文档,404.7是“拒绝文件扩展名”。

Http://www.iis.net/configreference/system.webserver/security/requestfiltering

添加显式的服务器规则。但是,axd 文件没有帮助。看到这个模块很有意思,因为它对 URL 长度和内容大小施加了限制。你能想象在 IIS 托管的 WCF 应用程序中解决这个问题吗!哈哈。我真的在哭。

更新6

我正在删除请求过滤,这意味着删除 ASP.NET 和其他各种东西。他们需要重新安装 Windows 功能和依赖所有在一个命中,因为我们写不可靠的软件选项。

更新7

我重新安装了所有东西,然后一个名叫 Richard 的澳大利亚人突然出现,完全解释说 Web Deploy 实际上并不是 WMSvc 标准的一部分,即使是在 IIS 8上,而且我需要安装 Web Deploy。

是的。然后我禁用 MsDepSvc,这是它安装的另一部分(我认为这是整个 Web Deploy) ,因为它吸收端口80,并阻止负载平衡器查看一个关闭的 IIS 服务。

而且成功了,我可以睡觉了。

55444 次浏览

您在服务器上安装了 WebDeploy 吗?Web Deploy 在 WMSVC 注册了一个处理程序(/msloy.axd) ,所以如果没有安装的话,404将是预期的状态代码。

如果有人和我有同样的问题,我也得到了相同的404错误。我发现最快的检查方法是进入服务器本身,打开“ https://<servername>:8172/msdeploy.axd" ;。Chrome & Firefox 刚刚显示了一个空白页面,所以我不得不使用开发工具的 Network 选项卡(F12)来查看实际的404错误消息。

不知何故,在从 Web 平台安装程序安装 Web Deploy 3.0时,IIS 7 Deployment Handler 没有安装,尽管 IIS Manager UI Module 安装了。在我的例子中,我下载了 Web 部署工具安装。以下连结提供 msi: Web 部署工具安装。然后我必须回到 IIS 管理工具(Start-> Run-> inetmgr.exe) > { server name } > 单击 Management Service 图标,并在 MsDeploy.axd 处理程序开始工作之前重新启动管理服务。

启用 IIS 部署处理程序 + 远程代理服务

enter image description here

当我通过 Web 平台安装程序安装 WebDeploy 时,没有选择 Handler。我必须手动安装 Web Deploy 3.0,单击“ change”,然后选择要安装的 Handler。

我认为一个重要的问题是,您必须首先打开 Management 服务,然后安装 WebDeploy。

我反过来做了,但没用。

只有通过重新安装 Web 部署,它才能开始工作。

在我的例子中,当通过 web pi 安装 web 部署3.0包时,我从来没有在 IIS/home 中获得过管理服务委派选项。.然而,重新安装修正了这个问题,从而解决了我的404.7错误。

这是根据微软服务器2012和 IIS8

编辑: 我最近在 Windows 8上尝试了同样的事情,并且想指出微软的网站声明:

不能使用 Web Deploy 为在 Windows 8.0或8.1上的 IIS 中承载的站点设置远程发布。原因是 Windows 的客户端 SKU 没有附带远程连接所需的 Web 管理服务。因此,在 Windows 8.0或8.1上,配置远程发布所需的 IIS 管理器权限图标和配置 Web 部署发布部署选项在 IIS 管理器中不可用。http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

(是的,我知道这个问题的目标是 Server 2012,但是这可以避免很多人和我一样头疼,因为这个在我的老开发机器上运行得很好,我想让人们知道。)

在 Windows2012R2Server 上,我遵循了 mga911的建议。

我被困在部署工作中了。已安装 Web Deploy 3.5-> EnabedManagementService 委托-> 已启动确保的服务。问题是没有安装 IIS 部署处理程序。通过 Web PI 4.6,我没有机会安装 IIS 部署处理程序。您需要进入控制面板-> 程序和特性更改 Web Deploy 3.5的安装。请记下我的指示。在更改过程中,它表明所有的子包将被安装,但文本消息说,0的3个子组件将被安装。其中一个组件是 IIS 处理程序。仔细阅读,因为我没有,并感到沮丧:)

  • 控制面板 > 程序和特性
  • 右击 Microsoft Web Deploy 3.5
    • 选择 Change > click next > click Change
    • 当 Web 部署框架被选中时,您会注意到在消息“ It has 0 of 3 subFeature select”中可以看到
    • 点击下拉选择“整个功能将安装在本地硬盘驱动器”
    • 下一页 > 更改 > 完成

经过几个小时的搜索,做你的解决方案下面为我工作! !

Control Panel > 节目及特点

右击 Microsoft Web Deploy 3.5

选择 Change > click next > click Change

当选择 WebDeploymentFramework 时,您将注意到消息中的内容

 "It has 0 of 3 subfeatures selected"

点击下拉选择 "Entire feature will be installed on local hard drive"

下一页 > 更改 > 完成

只使用窗口授权。Web 部署3.5。而且只有 WMSVC 证书中所设置的管理服务图标的顶级服务器图标。

此外,您可能需要授予 Web 管理服务的访问权限

我还有一个问题,Visual Studio (2013)无法在我的服务器上更新应用程序(Windows 2012 R2 IIS 8.5)。我按照上面的描述手动添加了组件,但是这并没有解决问题。然后我找到了 这篇文章

它基本上说 Web 管理服务作为本地服务登录,本地服务没有访问 Inetpub 目录的权限。 授予本地服务的权限为我解决了这个问题。

而不是使用 Web 平台安装程序。 从网站下载 WebDeploy.exe 并使用 Complete package 选项将其安装到服务器上。

它会解决这个问题。

我也遇到了同样的问题,我通过“ Restart-Service wmsvc”解决了这个问题。

这个问题在服务器2019中也仍然存在。 需要按照正确的顺序安装网页部署

  • 首先,启动 service-Web 管理服务
  • 然后安装 web 部署(从 Microsoft 网站下载)