通过MSDeploy.exe从WMSvc获取404
从Windows 8到安装了Webpipe理服务的Windows Server 2012(IIS 8),我可以使用W8上的IISpipe理器来pipe理远程服务器,但是当我执行以下命令时,我从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
我已经尝试了各种组合和参数。 我可以telnet到那个端口,我知道它的开放。
我只是从Windows中删除pipe理服务function并重新启动。 我会倒入一杯苏格兰威士忌,做点零食。 同时,如果您有任何想法,请分享。
join我的实时博客,并按照行动。
更新1
随着pipe理服务删除,我现在得到
错误:无法连接到远程服务器错误:由于目标机器主动拒绝,无法build立连接192.168.2.22:8172错误计数:1。
第二行是新消息! 呜呼。
更新2
好的,现在情况正在恶化。 由于重新安装,远程IIS控制台将在证书上发出警报,然后说,
服务器不接受远程连接。
但我认为这是因为我可能没有重新启用远程pipe理,在安装该死的东西的顶部。
更新3
远程pipe理启用,远程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年构buildfubar'ed。
更新5
我启用了失败的WMSvc请求跟踪,并且看到404.7来自RequestFilteringModule模块。 根据文档404.7是“文件扩展名被拒绝”。
http://www.iis.net/configreference/system.webserver/security/requestfiltering
虽然为.axd文件添加一个显式的服务器规则也没有帮助。 有趣的是看到这个模块,因为它对URL长度和内容大小施加了限制。 你可以想象在IIS托pipe的WCF应用程序中解决这个问题! 哈哈。 我真的哭了
更新6
我正在删除请求过滤这意味着删除ASP.NET和其他各种东西也。 他们需要重新安装Windowsfunction和依赖项,因为我们编写不可靠的软件选项。
更新7
我重新安装了所有东西,然后一些名为Richard的澳大利亚人出现了,完全解释说Web Deploy实际上并不是WMSvc的一部分,即使是在IIS 8上,我也需要安装Web Deploy。
所以我呢。 然后,我禁用MsDepSvc这是它安装的其他部分(我认为是整个Web部署),因为它吸引端口80,并停止负载均衡器看到一个closures的IIS服务。
它工作。 我可以去睡觉。
您是否在服务器上安装了Web Deploy? Web Deploy使用WMSVC注册了一个处理程序(/msdeploy.axd),所以如果没有安装,404将是预期的状态码。
如果别人遇到同样的问题,我也得到了相同的404错误。 我发现检查最快的方法是在服务器上打开“https:// <servername>:8172 / MsDeploy.axd”。 Chrome浏览器和Firefox只显示一个空白页面,所以我不得不使用开发人员工具(F12)的networking选项卡来查看实际的404错误消息。
不知何故,在从Web Platform安装程序安装Web Deploy 3.0时,即使IISpipe理器UI模块也没有安装IIS 7部署处理程序。 就我而言,我从以下链接下载了Web部署工具安装.msi: Web部署工具安装 。 然后,我必须回到IISpipe理工具(开始 – >运行 – > inetmgr.exe)> {服务器名称}>单击pipe理服务图标,并重新启动MsDeploy.axd处理程序开始工作之前的pipe理服务。
启用IIS部署处理程序+远程代理服务
在Windows 2012 R2服务器上,我遵循了mga911的build议。
我被卡住部署工作。 已安装Web Deploy 3.5 – >启用pipe理服务委派 – >确保服务已启动。 问题是没有安装IIS部署处理程序。 通过Web PI 4.6我没有机会安装IIS部署处理程序。 您需要进入控制面板 – >程序和function更改Web Deploy 3.5的安装。 请注意我的指示。 在更改过程中,它表示将安装所有的子软件包,但文本消息说将安装3个子组件中的0个。 其中一个组件是IIS处理程序。 仔细阅读,因为我没有,是沮丧:)
- 控制面板>程序和function
- 右键单击Microsoft Web Deploy 3.5
- select更改>点击下一步>点击更改
- 你会注意到,当selectWeb部署框架时,你会在消息中看到“它有0个select的3个子function”
- 点击下拉select“整个function将安装在本地硬盘上”
- 下一步>更改>完成
我认为重要的一点是,您必须先打开pipe理服务,然后安装Web部署。
我反其道而行,并没有奏效。
只有通过重新安装Web部署,才开始工作。
当我通过Web平台安装程序安装Web Deploy时,处理程序未被选中。 我不得不手动安装Web部署3.0,单击“更改”,然后select要安装的处理程序。
在我的情况下,当通过networking安装web部署3.0包我从来没有得到IIS /家庭pipe理服务委派选项。重新安装它纠正了这个问题,因此解决了我的404.7错误。
这是在Microsoft Server 2012和IIS8下
编辑:我刚刚在Windows 8上尝试了同样的事情,并想指出,微软网站指出:
您无法使用Web Deploy为Windows 8.0或8.1中的IIS中承载的站点设置远程发布。 原因是用于Windows的客户端SKU不具有远程连接所需的Webpipe理服务。 因此,在Windows 8.0或8.1上,configuration远程发布所需的IISpipe理器权限图标和configurationWeb部署发布部署选项在IISpipe理器中不可用。 http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00
(是的,我意识到目标是Server 2012的问题,但这可以节省很多人与我一样头痛,因为这工作得很好,我的老开发机器上,我想让人们知道。)
经过几个小时的search,下面的解决scheme为我工作!
Control Panel
>程序和function
右键单击Microsoft Web Deploy 3.5
select更改>点击下一步>点击更改
您会注意到,selectWeb部署框架时,您会在消息中看到
"It has 0 of 3 subfeatures selected"
点击下拉select"Entire feature will be installed on local hard drive"
下一步>更改>完成
另外,您可能需要为Webpipe理服务授予访问权限
我也有问题的Visual Studio(2013)无法更新我的服务器上的应用程序(Windows 2012 R2 IIS 8.5)。 我如上所述手动添加组件,但这并不能解决问题。 然后我find了这篇文章 。
它基本上说,Webpipe理服务作为本地服务login,它没有对Inetpub目录的访问权限。 授予本地服务权限解决了我的问题。
而不是使用Web平台安装程序。 从网站下载WebDeploy.exe并使用Complete package选项将其安装在服务器上。
它将解决这个问题。
只使用Windowsvalidation。 Web部署3.5。 而且只有在顶级服务器图标的pipe理服务图标中设置的WMSVC证书。