通过MSDeploy.exe从WMSvc获取404

Luk*_*ett 116 iis msdeploy iis-8

从安装了Web管理服务的Windows 8到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
Run Code Online (Sandbox Code Playgroud)

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

我只是从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.
Run Code Online (Sandbox Code Playgroud)

更新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

我重新安装了一切,然后一些名叫理查德的澳大利亚人突然出现并完全解释说Web Deploy实际上并不是WMSvc的一部分,即使在IIS 8上也是如此,我需要安装Web Deploy.

所以我这样做.然后我禁用MsDepSvc,这是它安装的另一部分(我认为是整个Web部署),因为它在端口80上很糟糕,并阻止负载均衡器看到已关闭的IIS服务.

它有效.我可以去睡觉了.

Vee*_*ond 173

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

不知何故,从Web平台安装程序安装Web Deploy 3.0时,即使IIS管理器UI模块执行了IIS 7部署处理程序,也未安装.在我的例子中,我从以下链接下载了Web部署工具安装.msi:Web部署工具安装.然后我不得不回到IIS管理工具(开始 - >运行 - > inetmgr.exe)> {服务器名称}>单击管理服务图标,并在MsDeploy.axd处理程序开始工作之前重新启动管理服务.

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

在此输入图像描述

  • 我能够进入控制面板>程序和功能.右键单击"Microsoft Web Deploy 3.5"并选择"更改".从安装程序中选择"更改"和"IIS部署处理程序"作为选项可用(最初被禁用.另外"配置非管理员部署"和"管理服务委派UI"是其他选项.)我的第一个请求是`MSDeploy.axd`仍然有404,但下一个请求收到登录提示. (98认同)
  • 如果你像我一样健忘,请记住,在更改"IIS部署处理程序"之前,您必须已经安装了管理服务(添加/删除Windows功能> Web服务器(IIS)>管理工具>管理服务). Web部署3.5安装. (3认同)

Ric*_*lay 83

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

  • 同样的问题,只是进入控制面板并更改了"Web部署"安装以包含处理程序.重新启动WMSVC服务,一切都很好! (30认同)
  • 我不得不卸载Web Deploy 3,然后重新安装它以使其正常工作.不知怎的,我的IIS8搞砸了. (16认同)
  • 如果在安装Web管理服务之前安装了Web Deploy,则需要按照上述步骤进行操作 (13认同)
  • 不,我没有.我不知道我需要!我认为整个部署的事情是WMSvc的一部分?天哪,我认为你是对的,他们是那么愚蠢.我最近对所有这些感到困惑,并认为Web部署您安装的东西只是代理,托管公司等.看看我的另一个问题http://stackoverflow.com/questions/13602502/why-does-the-web-deploy-agent-service-listen-on-port-80-and-8172 (2认同)
  • WMSVC用于远程配置IIS.MSDeploy很久以后就创建了,因此无法集成到核心中.如果无法安装MSDeploy,可以使用[temp agent](http://technet.microsoft.com/en-us/library/dd569001%28v=ws.10%29.aspx)安装处理程序在部署期间(显然您需要管理员访问权限). (2认同)
  • @RohitJain是的,如果尚未安装Management Service,则不会安装/msdeploy.axd处理程序。通过卸载/重新安装,您做了正确的事(尽管您可能也可以进行修复) (2认同)

mug*_*lio 68

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

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

  • 控制面板>程序和功能
  • 右键单击Microsoft Web Deploy 3.5
    • 选择更改>单击下一步>单击更改
    • 您会注意到,当选择Web部署框架时,您将在消息"它已选择了3个子功能中的0个"中看到
    • 点击下拉菜单选择"整个功能将安装在本地硬盘上"
    • 下一步>更改>完成

  • 在Win 2012 R2上使用Web Deploy 3.6尝试了这个技巧.没有使用以下错误"错误:"配置部分'system.webServer/management/delegation'无法读取,因为它缺少架构"...卸载Web部署3.6并从http:/获得Web部署3.5 /www.iis.net/downloads/microsoft/web-deploy工作. (2认同)

hay*_*eld 17

我认为一个重点是您必须首先打开Management服务然后再安装Web Deploy.

我反过来做了它并没有奏效.

只有重新安装Web部署才能开始工作.


mga*_*911 12

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


小智 12

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

Control Panel >程序和功能

右键单击Microsoft Web Deploy 3.5

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

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

 "It has 0 of 3 subfeatures selected"
Run Code Online (Sandbox Code Playgroud)

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

下一步>更改>完成


Cry*_*pth 8

在我的情况下,安装了Web 3.0部署包通过Web PI时,我从来没有在IIS /家庭重新安装它纠正问题然而,从而解决解决了我404.7错误的管理服务委派选项....

这是在Microsoft Server 2012和IIS8下

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

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

(是的,我实现目标是Server 2012中的问题,但是这可以节省很多的人具有相同的头痛我,因为这工作就好了我的老dev的机器我想让人们知道.)