Visual Studio 2010 Web部署任务失败

我正在尝试使用VS2010的“一键式发布”function将testing站点从笔记本电脑部署到我的服务器。 我在两台计算机上都closures了防火墙,MS Deployment服务在我的笔记本电脑和服务器上运行。

但是,当我尝试从我的笔记本电脑上发布VS2010时,出现以下错误:

错误1 Web部署任务失败(远程代理(URL :https ://192.168.1.181/:8172/msdeploy.axd ?site=LocationsTest )无法联系)确保远程代理服务已安装并在目标计算机上启动。)
请求的资源不存在,或者请求的URL不正确。
错误详情:
远程代理(URL https://192.168.1.181/:8172/msdeploy.axd?site=LocationsTest )无法联系。 确保远程代理服务已安装并在目标计算机上启动。
收到不受支持的响应。 响应标题'MSDeploy.Response'是'',但'v1'是预期的。
远程服务器返回错误:(404)未find。 0 0 Test.Web

任何想法我在这里做错了吗?

确保您将WMSvc服务(Webpipe理服务)设置为“自动”(并已启动),以便在重新启动并检出此链接时打开

重新启动视觉工作室

在运行IIS 7.5的服务器上成功部署了一个Web应用程序之后,我已经有几次想到了这个问题。 显然,由于在错误发生之前,服务器上的部署/发布已经成功完成,所以在服务器设置/configuration上很less出现问题(除非以前的成功部署出现可怕的错误,并删除了一些configuration参数服务器)。

重新启动服务器后,检查Webpipe理服务和Web部署服务是否正常运行,并从cUrl工具validationMsDeploy.axd的GET是否成功,剩下的事情还剩一件事。 重新启动Visual Studio。 神奇的VS发布后重新启动再次开始工作。 一切靠自己。 神奇的东西,这个networking部署:)

确保您在发布configuration文件中正确设置了网站/应用程序: 在Visual Studio 2010中发布配置文件对话框

如果拼写错误的网站或应用程序名称,则会得到相同的错误消息。

尽pipe很多不同的不相关的东西可以帮助我获得404,但是我为我解决了这个问题。

  1. 在安装/重新安装WebDeploy安装程序时,请select“自定义/更改”,然后确保“pipe理服务委派UI”是已安装的选项之一,默认情况下未安装,但是WebDeploy需要安装(安装程序错误)。
  2. 使用IISpipe理器的“服务器”节点中新的“pipe理服务委派”图标添加“部署带有内容的应用程序”angular色,并接受其默认设置。 但是,您也可能想要指定一个“运行方式”设置与有权修改IIS设置的用户。
  3. 重新启动Webpipe理服务。

之后,一切正常。 假设Webpipe理服务安装正确(我的configuration为接受远程连接,防火墙端口已打开,并且我正在上传的用户已添加到每个要部署到的站点(使用IISpipe理器权限图标在IISpipe理器中的每个站点节点中))。

我们发现问题是因为WebDeploy是在Windows 2008服务器上启用Webpipe理服务function之前安装的。 安装Webpipe理服务后,请完全卸载Web部署。 然后树脂安装,并确保select了包装的所有组件。

重新安装后,我们立即能够从本地机器和我们的CI发布到服务器。

阅读其他答案后请注意几点:

  • 如果您遇到404错误,则问题不属于安全问题。
  • 我们不必重新启动Visual Studio以使此更改生效。
  • 重新安装将在自动模式下启动服务,请勿重复此设置。

当我更改使用“Windowspipe理服务”的“服务URL”时,我能够修复相同的问题:

https://ExampleURL:8172/msdeploy.axd?site=SiteName 

对此使用“远程代理服务”,而不是:

 http://ExampleURL 

之后它工作得很好。

我得到这个错误,因为我改变了我的密码。 部署向导仍保存我的旧密码,重新input密码后,现在一切正常。

我已经安装了几个Web服务器,我一直在收到这个问题,所以我在这里发布我的答案,以便当我谷歌的问题时,我发现它。

基本上我总是从Web平台安装程序安装Web Deploy 3。 这是第一个错误。 由于某种原因,这只能安装一半你需要的东西。 如果已安装,请将其卸载并下载Web部署安装程序。 然后select“完成”安装。

如果您正在遵循本指南

然后忽视选项1。 这是一个陷阱

从“ 2.下载Web Deploy安装程序… ”开始再次阅读

傻了,我没有在服务器上安装.NET 4

我从https:// servername:8172 / MsDeploy.axd的IE浏览器中获得了404

但Chrome并没有制造麻烦。

这可以成为第一个testing您是否可以访问服务器上的Webpipe理服务的。 换句话说:当chome工作的时候(它用一个空白页面来回答),那么你就可以通过服务器上的服务了。

您还需要获得部署到特定站点的权限。 在IIS中find该站点并在pipe理下的“IISpipe理器权限”中执行此操作。

从Visual Studio 2010发布项目时,这个相同的消息几乎是随机发生的。

修复方法是删除$projectname.Publish.xml文件(在项目的根目录中)并重新创build它。

如果您使用SSL证书,则应进入服务器pipe理器的IISpipe理器部分下的pipe理服务并停止服务,select正确的证书,然后重新启动服务。 这是为我工作(我正在获取禁止消息)。

像虚拟机一样,这个错误对我来说是因为我没有安装远程Web代理作为此处提供的Web部署工具的一部分。

即使所有需要的软件安装,我也有类似的错误。 我注意到服务的URL没有前缀的http://。 一旦预先填好,效果很好。

我从VS 2013得到类似的错误,发现一个修复,我没有看到任何其他答案。

错误:

  • 底层连接已closures
  • 无法从传输连接读取数据:现有连接被远程主机从构build服务器(TFS 2010)强制closures

固定:

在我的情况下的修复是在目标上重新启用TLS 1.0。 这是一个registry键,但我正在使用免费的IISCrypto小程序。