繁体   English   中英

通过 MSDeploy.exe 从 WMSvc 获取 404

[英]Getting a 404 from WMSvc via MSDeploy.exe

从 Windows 8 到 Windows Server 2012 (IIS 8) 安装并运行了 Web 管理服务,我可以使用 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

我尝试了各种组合和参数。 我可以 te.net 到那个端口,我知道它是开放的。

我只是从 Windows 中删除管理服务功能并重新启动。 我会给自己倒一杯苏格兰威士忌,然后做点心。 同时,如果您有任何想法,请分享。

在下面加入我的实时博客并按照操作进行操作。

更新 1

删除管理服务后,我现在得到

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

第二行是一条新消息。 哇哦。

更新 2

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

服务器不接受远程连接。

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

更新 3

启用远程管理后,远程 IIS 再次工作,但 404 已返回。 为了 SEO 的利益,这里是完整的错误:

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 对客户端尝试对另一台 web 服务器执行相同的命令,这很有用。 看起来 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 和其他各种内容。 他们需要 Reinstall Windows Features & Dependencies All In One Hit Because We Write Unreliable Software 选项。

更新 7

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

所以我愿意。 然后我禁用 MsDepSvc,这是它安装的另一部分(我认为是整个 Web Deploy),因为它占用端口 80 并阻止负载均衡器看到已关闭的 IIS 服务。

它有效。 我可以拨打 go 睡觉。

如果其他人遇到与我遇到的问题相同的问题,我也会遇到相同的 404 错误。 我发现检查的最快方法是访问服务器本身,然后打开“https://<servername>:8172/MsDeploy.axd”。 Chrome 和 Firefox 只显示一个空白页面,所以我不得不使用开发人员工具 (F12) 的网络选项卡来查看实际的 404 错误消息。

不知何故,从 Web 平台安装程序安装 Web 部署 3.0 时,IIS 7 部署处理程序没有安装,即使 IIS 管理器 UI 模块安装了。 就我而言,我从以下链接下载了 Web Deployment Tool Installation.msi: Web Deployment Tool Installation 然后我必须返回到 IIS 管理工具(开始 -> 运行 -> inetmgr.exe)> {服务器名称} > 单击管理服务图标,并在 MsDeploy.axd 处理程序开始工作之前重新启动管理服务。

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

在此处输入图像描述

您是否在服务器上安装了 Web Deploy? Web Deploy 向 WMSVC 注册一个处理程序 (/msdeploy.axd),因此如果未安装,404 将是预期的状态代码。

在 Windows 2012 R2 Server 上,我遵循了 mga911 的建议。

我被困在部署工作中。 已安装 Web Deploy 3.5 -> 启用管理服务委派 -> 确保服务已启动。 问题是尚未安装 IIS 部署处理程序。 通过 Web PI 4.6,我没有机会安装 IIS 部署处理程序。 您需要进入控制面板 -> 程序和功能更改 Web Deploy 3.5 的安装。 请注意我的指示。 在更改过程中,它指示将安装所有子包,但文本消息显示将安装 3 个子组件中的 0 个。 这些组件之一是 IIS 处理程序。 仔细阅读因为我没有并且很沮丧:)

  • 控制面板 > 程序和功能
  • 右键单击 Microsoft Web Deploy 3.5
    • 选择更改 > 单击下一步 > 单击更改
    • You'll notice when Web Deployment Framework is selected you'll see in the message "It has 0 of 3 subfeatures selected"
    • 单击下拉菜单选择“整个功能将安装在本地硬盘上”
    • 下一步 > 更改 > 完成

我认为很重要的一点是,您必须先打开管理服务,然后再安装 Web Deploy。

我反过来做了,但没有用。

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

当我通过 Web 平台安装程序安装 Web Deploy 时,未选择 Handler。 我不得不手动安装 Web Deploy 3.0,单击“更改”,然后选择要安装的 Handler。

经过数小时的搜索,在下面执行您的解决方案对我有用!

Control Panel > 程序和功能

右键单击 Microsoft Web Deploy 3.5

选择更改 > 单击下一步 > 单击更改

您会注意到何时选择Web部署框架,您将在消息中看到

 "It has 0 of 3 subfeatures selected"

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

下一步 > 更改 > 完成

在我的例子中,当通过 web pi 安装 web deploy 3.0 包时,我从未在 IIS /home 中获得管理服务委派选项。但是重新安装它纠正了这个问题,从而解决了我的 404.7 错误。

这是在 Microsoft Server 2012 和 IIS8 下

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

对于在 Windows 8.0 或 8.1 上的 IIS 中托管的站点,您无法使用 Web 部署设置远程发布。 原因是 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,但这可以让很多人免于像我一样头疼,因为这在我的旧开发机器上工作得很好,我想让人们知道。)

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

它会解决这个问题。

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

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

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

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

服务器 2019 中也仍然存在此问题。 需要安装以正确顺序部署的web

  • 一、启动服务——web管理服务
  • 然后安装网络部署(从微软网站下载)

就我而言,在服务器字段(发布设置对话框中的第一项)中使用http://<server_address>而不是https://<server_address>有效。

仅使用 Windows 身份验证。 网络部署 3.5。 并且只有在顶级服务器图标的管理服务图标中设置的 WMSVC 证书。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM