Web部署任务失败。无法连接…服务器未响应


72

我一直在使用Visual Studio 2012 RC将我的Lightswitch应用发布到本地主机(Win 7,SQL 2008 R2,IIS 7.5)。现在,我正在尝试发布到远程服务器(Win 2008 R2,SQL 2008 R2,IIS 7.5),但遇到了麻烦。

当我尝试发布时,出现以下错误:

Web部署任务失败。(由于服务器没有响应,因此无法使用指定的进程(“ Web部署代理服务”)连接到远程计算机(“ ###。###。###。###”)。请确保服务器没有响应。进程(“ Web部署代理服务”)已在远程计算机上启动。有关更多信息,请访问:http : //go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC。)

我已经检查了“了解更多”链接建议检查的每件事。我已经验证MsDepSvc和WMSVC都在运行,并且端口80和8172都响应了端口扫描。在发布设置中,对于服务URL,我使用的是远程计算机的IP地址(http://###.###.###.###)。对于用户名,我使用的是DomainName \ Administrator,这是我用来使用RDP登录的名称。

我已经在MSDN论坛上发帖,成员建议我将Web部署工具从V2.0回滚到V1.1。我已经完成了,但是并没有改变任何东西。

按照对这个SO问题的回答中的建议,我尝试msdeploy从命令行运行。

服务器上的命令行我得到:

C:\ Program Files \ IIS \ Microsoft Web Deploy> msdeploy -verb:dump -source:dirpath = c:\ temp,计算机名= http:// SeverName:80 / msdeployagentservice,用户名=管理员,密码= XXXX-详细 -debug详细:使用ID'c12c3392-2290-44b7-9434-dbd0ff5f9385'连接到远程服务器。详细信息:以“管理员”身份对远程代理URL'http:// ServerName:80 / msdeployagentservice '进行预身份验证。MSDeploy.dirPath(名称= MSDeploy.dirPath)c:\ temp(名称= dirPath)(keyAttribute = c:\ temp)(linkName = Child1)

开发机上的命令行我得到:

C:\ Program Files \ IIS \ Microsoft Web Deploy V3> msdeploy -verb:dump -source:dirpath = c:\ temp,计算机名= http://###.###.###.###: 80 / msdeployagentservice,用户名=管理员,密码= XXXX -verbose -debug信息:使用ID'7f0b7d5b-e202-424c-a7dd-246920253081'连接到远程服务器。详细信息:以“管理员”身份对远程代理URL'http://###.###.###.###:80 / msdeployagentservice '进行预身份验证。详细信息:对远程代理URL'http://###.###.###.###:80 / msdeployagentservice进行预身份验证”作为“管理员”。错误代码:ERROR_COULD_NOT_CONNECT_TO_REMOTESVC详细信息:无法使用指定的进程(“ Web部署代理服务”)连接到远程计算机(“ ###。###。###。###”),因为服务器没有响应。确保该过程(“ Web部署代理服务”)已在远程计算机上启动。有关详细信息,请访问:http : //go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC。了解更多信息:http : //go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC。---> Microsoft.Web.Deployment.DeploymentException:无法创建“ dirPath”类型和路径“ c:\ temp”的对象。---> System.Net.WebException:远程服务器返回错误:(400)错误的请求。在System.Net.HttpWebRequest.GetResponse()在Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse(HttpWebRequest request)-内部异常堆栈跟踪的结尾--内部异常堆栈跟踪的结尾Microsoft MSWeb.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext,DeploymentBaseOptions baseOptions,DeploymentObject sourceObject,字符串serverVersion)在MSDeploy.MSDeploy处。
在MSDeploy.MSDeploy.Main(String []未使用Args)处错误计数:1。

使用Wireshark,我发现我可以正常登录,但是在POST /MSDEPLOYAGENTSERVICE收到错误400:错误的请求后,如下所示:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">\r\n
<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>\r\n
<BODY><h2>Bad Request - Invalid Content Length</h2>\r\n
<hr><p>HTTP Error 400. There is an invalid content length or chunk length in the request.</p>\r\n
</BODY></HTML>\r\n

我唯一发现提到此特定行为的是有关ISA Server 2000的Microsoft支持文章

我还要看什么?


1
有什么解决办法吗?我遇到了同样的问题。
rybl 2012年

@rybl我们最终转为使用Windows Azure作为托管服务提供商。价格是可比的,并且部署功能紧密集成在一起。整个体验更加顺畅。我能够在2天内部署我们的应用程序,而在IIS部署中苦苦挣扎超过2周,这是我无法完成的。我对转换感到非常满意。
Embedded.kyle

:我在这里回答过类似的问题stackoverflow.com/questions/18856597/...
安德烈Snede科克

我在Prem 2012 R2服务器上遇到同样的问题。从字面上看,下面或其他任何地方的答案都无效。没有防火墙,启动和配置了所有服务以进行远程连接,正确命名了站点,等等。我不知道我还能做什么。
内森·麦卡斯凯尔

也许问题出在IIS管理服务的IP地址限制配置:stackoverflow.com/a/60566397/5546379
Rafael Neto

Answers:


84

使用“ Web Platform Installer 5.0”安装Web Deploy 3.5时遇到相同的问题

当我尝试从Visual Studio发布时,出现此错误:

---------------------------
Microsoft Visual Studio
---------------------------
Could not connect to the remote computer ("10.0.3.102") using the specified process 
("Web Management Service") because the server did not respond. Make sure that the process 
("Web Management Service") is started on the remote computer.  Learn more at: 
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC. 
The remote server returned an error: (403) Forbidden.
---------------------------
OK   
---------------------------

我仔细检查了服务,两者都在运行。我也关闭了防火墙,仍然出现同样的错误。

我如何解决这个问题:

  1. 打开“添加或删除”程序
  2. 单击“ Microsoft Web Deploy”
  3. 点击“更改”按钮(“卸载”除外)
  4. 点击“下一步”

在此处输入图片说明

  1. 点击“更改”

在此处输入图片说明

  1. 添加标有红色X的功能

在此处输入图片说明

  1. 完成安装

    结果:从Visual Studio发布正在运行


我以为我需要修改的只是远程代理服务,但没有。好一个。
Fetchez la vache 2015年

1
卢西安,你是老板!为什么默认情况下未选择此选项?
约翰马克·史密斯

4
@ John'Mark'Smith在安装IIS管理服务角色之前安装Web Deploy时,会发生这种情况。从iis.net:Web Deploy必须与管理服务集成组件一起安装。(要使此选项显示在Web Deploy安装程序中,必须首先启用Web管理服务。)
Jeff Camera

4
似乎它需要在安装Web Deploy 3.6之前首先安装Web管理服务(至少出于某种原因,至少对于我而言)。典型的MS指令甚至根本没有提及。我尝试使用Web Deploy 3.6安装程序安装Management Service,但一切都搞砸了。我必须卸载Web Deploy 3.6并重新安装它,然后一切都很好。另外,请再次检查Web部署代理和Web管理服务是否正在运行。
詹姆斯·威尔金斯

1
希望这可以工作,但可惜没有。什么都没有。
内森·麦卡斯凯尔

60

我昨天遇到了这个。在我的情况下,它完全可以归结为要求Site Name:我提供的发布设置MyApplication。确实希望我提供以下信息:

Default Web Site/MyApplication

我是与Microsoft部署团队一起提出来的,希望他们可以增加清晰度,如果您不指定现有站点名称,则不是Web部署服务器以这种错误引起您的思考而消失。


2
我有同样的问题。Web Deploy就是这样!
Calanus

1
克里斯,下次您在波士顿,我欠您一杯啤酒。
Mike G

1
非常感谢。丹佛也为您提供免费啤酒。
denvercoder15年

2
我住在澳大利亚克里斯(Chris),但如果我在波士顿,或者如果你想过来这里,我会给你买几杯啤酒。
乔恩·戴尔罗

1
3年后,这仍然是一个问题。3年后,您仍然是英雄@Chris Marisic
James Wilson

12

我遇到了同样的问题,并通过删除程序文件(x86)\ IIS和Program Files \ IIS中的所有Web部署文件夹解决了该问题。

之后,我重新安装了没有捆绑SQL的Web部署1.1和Web部署3.0。


2
这对我有用。我想我可能已经安装了多个版本的Web Deploy。按照说明删除文件夹中的所有Web Deploy之后,我还安装了没有捆绑SQL的Web Deploy 3.0。在完成所有这些之前,我已经在WebPI的“托管花鼓的推荐材料”项目中安装了大多数项目。
布雷特

7

要解决此问题,我使用了以下步骤:服务器:WS2012。DEV Vs2012专案MVC4。

1)在服务器上创建名称为必填项的空站点,或者在发布时使用“默认网站”(如果尚未将默认名称重命名为其他名称)。

我在此链接中使用了信息

在使用WPI的服务器上安装以下命令

安装用于主机服务器的Web Deploy(3.5)

Web Hosting提供程序的推荐服务器配置

我确定其他版本未安装

因此,验证您正在使用的站点名称。...我使用AdminUI。这是在测试服务器上创建的空站点

网站名称很重要。

因此,使用向导时,请匹配站点名称

发布向导

确保相关服务正在服务器上运行。并且您有足够的特权来写站点

服务


谢谢!为我工作:)
kzfabi 2014年

7

通过使用来自多个论坛的信息和答案,我最终设法安装了Microsoft的Web Deploy,该方法可以成功地用于从Visual Studio中发布它(经过测试,未激活防火墙):

  1. 使用服务器管理器中的“添加角色功能”为IIS安装“管理服务”
  2. 安装Web Deploy(重要:“完整”,并且在安装“ Management Services”之后) http://www.iis.net/downloads/microsoft/web-deploy#additionalDownloads

  3. 确保在服务器级别的IIS中

    • 打开“管理服务”
    • 允许Windows和IIS凭据
  4. 在站点级别的IIS中
    • 打开“ IIS管理器权限”
    • 添加用于实际发布的用户,例如管理员

如果防火墙处于活动状态:启用“文件共享”和“远程服务管理”


这对我有用,当您选择自定义VM映像而不是Google单击以部署ASP.NET平台解决方案以启用从Visual Studio 2015及更高版本进行Web部署时,请也遵循此步骤。
Tushar Kshirsagar '19

5

我已经通过重新启动Web管理服务在服务器上解决了此问题


在多次中断很长的部署后,我发现了这个问题。在这种情况下,此解决方案对我有用。
Marco Regueira 2014年

我在Azure Web应用程序中遇到此问题。在这种情况下,重新启动它也可以正常工作。
大卫·谢里

4

克里斯说的话:“当我真的希望我提供“默认网站/我的应用程序”时。” 实际的单词是“默认网站”,而不是服务器的名称。

我也有这个,并花了几个小时将头撞在墙上,直到尝试为止。(谢谢克里斯!)

FWIW,我使用的是默认网站的名称(服务器名),而不是您显然必须使用的“默认网站”字样。有点la脚,但至少我现在知道。


好的,我可以澄清一下,Default Web Site具体取决于您的IIS使用情况。DWS名称始终是开头的名称。我倾向于总是在DWS下托管,并且从不创建多个站点。
克里斯·马里西奇

3

检查管理服务是否有IP地址限制也是一个好主意-这些限制与Windows防火墙是分开的。

Windows管理服务


2

我有同样的问题。最后通过在服务URL中更改为https来解决。


1

ERROR_COULD_NOT_CONNECT_TO_REMOTESVC今天,我还在此错误()上浪费了一些时间,有趣的是,我能够使用构造为Properties/PublishProfiles/<Profile>.pubxml(通过right click on project -> Publish... -> create via wizard)的gui进行部署。

但就我而言,我不小心弄乱了<DeployIisAppPath>属性。这需要指向SiteName而不是ApplicationPool/SiteName。这是我*.csproj文件中的完整块:

<Project ...>
...
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DEV-Deploy|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
    <PlatformTarget>x64</PlatformTarget>
    <ErrorReport>prompt</ErrorReport>
    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
    <DeployIisAppPath>HERE GOES THE SITE NAME ONLY</DeployIisAppPath>
  </PropertyGroup>
...
</Project>

因此,如果您已将SiteName配置为Foo,则该配置块的最后一部分将是<DeployIisAppPath>Foo</DeployIisAppPath>

而且,IIS网站上有关错误代码的全部信息从没有真正帮助过。


1

Web部署任务失败。(无法连接到远程计算机。)

就我而言,我必须在远程机器上重新启动Web Deployment Agent服务。


1

我还有另一种情况,这突然停止为我工作。

这是因为我在管理服务中指定了IP地址限制,而我的ISP为我分配了一个新IP。我忘了指定。

  1. 打开IIS管理器
  2. 单击左侧树中的服务器名称
  3. 在功能视图中,选择“管理服务”
  4. 在右侧面板上停止管理服务
  5. 在IP地址限制下添加新IP,并删除旧的IP
  6. 应用更改并重新启动服务
  7. 使用以下步骤更新服务器文档的故障排除部分:)


1

AWS EC2实例上的相同问题。

  1. 导航到EC2实例,选择相应的实例,然后在“描述”部分复制“安全组名称”

在此处输入图片说明

  1. 导航到安全组并选择相应的安全组,如果缺少,请添加以下输入规则

在此处输入图片说明


1

我在这里尝试了所有其他流行的解决方案,但没有一个对我有用。

我首先安装了“没有捆绑的SQL支持的Web Deploy 3.6 ”。
然后是“为虚拟主机提供商推荐的服务器配置”。
我想,“我不需要所有的SQL支持”。
我无法通过Visual Studio发布配置文件上的“验证连接”,而没有看到上面问者文档中的相同错误。

我在某处读到了如何卸载和重新安装Web Deploy来解决它,所以我打开了“程序和功能”,找到了“ Microsoft Web Deploy 3.6 ”,然后将其卸载了。
它警告我有关其他人已连接到系统的信息,但我感到绝望。

卸载后,我打开IIS,单击服务器的节点,然后在“管理”部分下打开“ Web平台安装程序”并安装了“ Web Deploy 3.6 ”(这通常是我安装的,而不是没有SQL的安装)支持)。
然后,我终于能够通过Visual Studio验证来自本地计算机的连接。

它可能与我安装的Web Deploy版本无关。
我读到这些东西对您安装这些工具和建议的顺序有多么挑剔。
我想,这是因为没有(如安装建议的服务器配置出来的东西秩序之后,而不是事前的Web部署),但现在一切都很好。

这是一个链接,其中包含在IIS 8.0上安装Web Deploy时要遵循的一些有用说明:https :
//docs.microsoft.com/zh-cn/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy在iis 80或更高版本上




0

另外,请确保启动了远程过程调用(RPC)定位器服务。


0

通过从Visual Studio 2013中的向导发布时,将“默认网站”一词放在站点名称文本框中来解决此问题




0

显然,对我有用的是简单地重新启动Visual Studio /重新启动计算机,然后通过重新发布Web应用程序进行重新部署。


0

我有同样的错误。这是因为我配置了该网络中不存在的代理。



0

我有类似的问题“ ERROR_COULD_NOT_CONNECT_TO_REMOTESVC”,我去了IIS->您的网站->高级设置,发现“物理路径凭据”中有我的用户名。我将其删除,并且wed部署开始工作。

还请确保从VS部署时,在下一个字段中使用端口号和站点名称不包含“ localhost”。

我放了端口,它也因ERROR_DESTINATION_NOT_REACHABLE而失败。



0

此错误ERROR_COULD_NOT_CONNECT_TO_REMOTESVC使我花了两天时间才能弄清我的情况,该站点名称不匹配。远程IIS服务器上的站点名称与我在visual Studio中为部署设置的站点名称不同。我希望它可以帮助某人



0

在我的情况下,未安装Web部署工具。在Web Platform Installer中安装它后,对我有用。


0

尝试发布网站以使用Azure应用服务时遇到了相同的问题。
就我而言,我已经为新网站创建了虚拟路径,出于某种原因,该主题与我从应用服务中删除该虚拟路径的主题无关。
我已经再次创建它,但是忘记了在Azure门户中的新闻保存
结果就是该错误,
当然,可以通过再次创建该虚拟路径来解决此问题,而不必忘记保存。

为了更加清楚,最后一个虚拟路径不存在:
在此处输入图片说明

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.