通过MSDeploy.exe从WMSvc获取404


121

从Windows 8到已安装并正在运行Web管理服务的Windows Server 2012(IIS 8),我可以在W8框中使用IIS管理器来管理远程服务器,但是当执行以下命令时,我会从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。

第二行是新消息!oo。

更新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和其他各种东西。由于我们编写了不可靠的软件选项,因此他们一键需要重新安装Windows功能和相关性。

更新7

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

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

而且有效。我可以去睡觉了


24
+1搞笑密码
Michael12345

4
我们都输给了这个混乱局面多少生产力?我遇到了类似的问题,但是遇到了在查找用户名时IIS崩溃的情况。
ATL_DEV

6
在Windows 2012上,这是我的安装命令,我必须先安装Web Management Service功能,然后再安装Web deploy 3.5。
JustEngland

1
安装Web部署还不够!我已经安装了Web部署,这是我要做的第一件事。我不得不去添加/删除程序并更改安装设置以包括处理程序。我希望MS开发人员能够充满爱心,幸福和繁荣,他们认为不包括让服务执行任务的处理程序是明智的默认选择。
nurettin

我在尝试使Web Deploy 3.6正常工作时遇到了各种各样的问题,因此遵循Sinned Lolwut的评论并卸载了3.6,然后安装了3.5-首先工作。我使用Web平台安装程序(microsoft.com/web/downloads/platform.aspx)安装Web Deploy 3.5。之后,重新启动了Web管理服务,并且能够在Visual Studio Web Deploy配置文件中验证连接。(我会在上面的评论中回答,但没有足够的声誉)。
2号鲍勃

Answers:


86

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


2
不,我没有。我不知道我需要!我以为整个部署过程都是WMSvc的一部分?天哪,我认为您是对的,他们就是那么愚蠢。最近,我对所有这一切感到困惑,以为Web Deploy所安装的只是代理,用于托管公司等。看看我的其他问题stackoverflow.com/questions/13602502/…–
路加·普普利特

2
WMSVC用于远程配置IIS。MSDeploy是在很久之后创建的,因此无法集成到核心中。如果无法安装MSDeploy,则可以使用临时代理,该代理将在部署过程中安装处理程序(显然,您需要管理员访问权限)。
理查德·萨雷

16
我必须先卸载Web Deploy 3,然后再重新安装它才能正常工作。不知何故我的IIS8搞砸了。
Rosdi Kasim

30
同样的问题,只是进入“控制面板”并更改了“ Web Deploy”安装以包括Handler。重新启动WMSVC服务,一切都很好!
Matt Woodward 2014年

13
如果在安装Web管理服务之前安装了Web Deploy,则需要遵循上述步骤
Matt Baker 2014年

180

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

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

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

在此处输入图片说明


98
我能够转到“控制面板”>“程序和功能”。右键单击“ Microsoft Web Deploy 3.5”,然后选择“更改”。从安装程序中选择“更改”和“ IIS部署处理程序”作为选项(首先被禁用。另外,“配置非管理员部署”和“管理服务委托UI”是附加选项。)我的第一个请求MSDeploy.axd仍然有404,但下一个请求收到登录提示。
卡尔·G

3
如果您像我一样健忘,请记住,在更改IIS部署处理程序之前,您必须已经安装了管理服务(添加/删除Windows功能> Web服务器(IIS)>管理工具>管理服务)。 Web Deploy 3.5安装。
卡尔·G

@DGDev Web部署工具2.1是Web Deploy 3.0的前身
Kuepper

1
嘿,卡尔·G,您的评论是我发现的唯一有用的问题。我希望它可以作为答案的一部分,而不是在此处提供简单的评论。(管理员请尽可能提供正确的答案)
mohghaderi 2014年

@CarlG-很棒!我添加了一个屏幕截图以供参考。
SliverNinja-MSFT 2015年

69

在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
    • 选择更改>单击下一步>单击更改
    • 您会注意到,当选择Web Deployment Framework时,您会在消息中看到“它选择了3个子功能中的0个”
    • 单击下拉列表,选择“整个功能将安装在本地硬盘上”
    • 下一步>更改>完成

2
在Win 2012 R2上使用Web Deploy 3.6尝试了此技巧。不适用于以下错误“错误:“由于缺少架构,因此无法读取配置节'system.webServer / management / delegation”” ...卸载了Web Deploy 3.6,并从iis.net上获取了Web Deploy 3.5 / downloads / microsoft / web-deploy正常 工作
Sinned Lolwut

这对我很有帮助!谢谢。Win2012 r iis 8
Roberto

18

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

我以另一种方式做到了,但是没有用。

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


同样的事情发生在我身上。什么样的恶梦!
Christopher Townsend 2014年

1
我猜这里的大多数人(包括我自己)都有相同的问题,但他们没有意识到,因为卸载Web部署,然后重新安装,然后重新启动Management Service几乎是同一件事:)
ilter 2014年

13

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


12

经过数小时的搜索,下面提供的解决方案对我有用!

Control Panel >程序和功能

右键单击Microsoft Web Deploy 3.5

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

您会发现选择了Web Deployment Framework时会在消息中看到

 "It has 0 of 3 subfeatures selected"

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

下一步>更改>完成


8

以我为例,通过Web pi安装Web Deployment 3.0软件包时,我从未在IIS / home中获得“管理服务委托”选项。重新安装可解决此问题,从而解决了我的404.7错误。

这是在Microsoft Server 2012和IIS8下

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

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

(是的,我意识到问题的目标是Server 2012,但这可以使很多人免于与我同样的头痛,因为这在我想让人们知道的旧开发机器上很好用。)


3

而不是使用Web Platform Installer。从网站下载WebDeploy.exe,然后使用“完整软件包”选项将其安装在服务器上。

它将解决此问题。


1

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

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

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



-1

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.