Web部署任务失败。无法连接...服务器没有响应

时间:2012-08-03 13:35:51

标签: visual-studio iis deployment msdeploy webdeploy

我使用Visual Studio 2012 RC将我的Lightswitch应用程序发布到我的localhost(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 Forums,其中一位成员建议我将Web部署工具从V2.0回滚到V1.1。我已经完成了,但它没有改变任何东西。

根据对此SO Question的回答中的建议,我尝试从命令行运行msdeploy

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

  

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

开发计算机 的命令行中我得到:

  

C:\ Program Files \ IIS \ Microsoft Web Deploy V3> msdeploy -verb:dump   -source:dirpath   = c:\ temp,computername = http://###.###.###.###:80/msdeployagentservice,username=Administrator,password=XXXX -verbose -debug信息:使用ID“7f0b7d5b-e202-424c-a7dd-246920253081”连接到远程服务器。详细:预先认证到   远程代理网址“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的   请求)---内部异常堆栈跟踪结束--- ---结束   内部异常堆栈跟踪--- at   Microsoft.Web.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext   providerContext,DeploymentBaseOptions baseOptions,DeploymentObject   sourceObject,String serverVersion)at   Microsoft.Web.Deployment.DeploymentManager.CreateObject(DeploymentProviderOptions   providerOptions,DeploymentBaseOptions baseOptions)at   MSDeploy.MSDeploy.CreateObject(DeploymentProviderOptions   providerOptions,DeploymentBaseOptions baseOptions)at   MSDeploy.MSDeploy.Execute()的MSDeploy.MSDeploy.ExecuteWorker()
  at MSDeploy.MSDeploy.Main(String [] unusedArgs)错误计数: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 Support Article

我还应该注意什么?

31 个答案:

答案 0 :(得分:62)

当我使用&#34; Web平台安装程序5.0&#34;

安装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. 打开&#34;添加或删除&#34;程序
  2. 点击&#34; Microsoft Web Deploy&#34;
  3. 点击&#34;更改&#34;按钮(除了&#34;卸载&#34;)
  4. 点击&#34;下一步&#34;在
  5. enter image description here

    1. 点击&#34;更改&#34;在
    2. enter image description here

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

        enter image description here

        1. 完成安装

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

答案 1 :(得分:56)

我昨天遇到过这个。在我的方案中,它完全归结为发布设置,它要求Site Name:我提供MyApplication。当它真的希望我提供:

Default Web Site/MyApplication

我提到了Microsoft部署团队,所以希望他们可以更清楚地说明,如果您没有指定现有的站点名称,那么Web部署服务器就不会像这个错误让您思考的那样死机。

答案 2 :(得分:11)

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

之后我重新安装了web deploy 1.1和web deploy 3.0,没有捆绑的SQL。

答案 3 :(得分:6)

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

1)在需要名称的服务器上创建空站点,或者在发布时使用“默认网站”,如果您尚未将默认值重命名为其他内容。

I used information in this link

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

  

为托管服务器安装Web Deploy(3.5)

     

适用于虚拟主机提供商的推荐服务器配置

我确定未安装的其他版本

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

Site Name is important.

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

Publish wizard

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

services

答案 4 :(得分:4)

我已设法通过重新启动Web管理服务来修复此问题

答案 5 :(得分:3)

Chris说:“当它真的希望我提供”默认网站/ MyApplication“时。”实际的单词“默认网站”,而不是服务器的名称。

我也有这个,花了好几个小时把头撞在墙上,直到我试了这个。 (谢谢克里斯!)

FWIW,我使用的是默认网站的名称(服务器名称)而不是“默认网站”这个词,这显然是你必须使用的。有点蹩脚,但至少我现在知道了。

答案 6 :(得分:2)

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

答案 7 :(得分:2)

使用来自多个论坛和答案的信息,我终于成功安装了Microsoft的Web部署,以便我可以使用它成功从Visual Studio发布(在没有激活防火墙的情况下进行测试):

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

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

    • 打开'管理服务'
    • 同时允许Windows和IIS凭据
  4. 在站点级别的IIS中
    • 打开“IIS管理员权限”
    • 添加将用于实际发布的用户,例如管理员
  5. 如果防火墙处于活动状态:启用“文件共享”和“远程服务管理”

答案 8 :(得分:1)

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

windows management service

答案 9 :(得分:1)

AWS EC2实例上的相同问题。

  1. 导航至 EC2实例,选择相应的实例,然后在说明部分中复制安全组名称
  2. enter image description here

    1. 导航至安全组并选择相应的安全组并添加以下输入规则如果缺少
    2. enter image description here

答案 10 :(得分:1)

确保允许到端口8172的流量。 在我的NSG上添加入站规则解决了它。

enter image description here

答案 11 :(得分:1)

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

在我的情况下,我不得不重新启动远程控制台上的Web部署代理服务。

答案 12 :(得分:1)

今天我也浪费了几个小时来处理这个错误(ERROR_COULD_NOT_CONNECT_TO_REMOTESVC),有趣的是我能够使用gui构建Properties/PublishProfiles/<Profile>.pubxml(通过right click on project -> Publish... -> create via wizard)进行部署。

但在我的情况下,我意外地搞砸了<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 Site for error codes上的所有信息都没有真正帮助过。

答案 13 :(得分:0)

还要确保IIS中的网站以您在“站点名称”字段下提供的名称存在。

答案 14 :(得分:0)

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

答案 15 :(得分:0)

检查TLS不匹配。我们使用SchUseStrongCrypto reg注册表项强制在一台计算机上而非另一台计算机上使用TLS 1.2。在https://fuseit.zendesk.com/hc/en-us/articles/360000328595

上发布了更多详细信息

答案 16 :(得分:0)

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

答案 17 :(得分:0)

我有类似的问题“ERROR_COULD_NOT_CONNECT_TO_REMOTESVC”,我去了IIS - &gt;您的网站 - &gt;高级设置,发现我的用户名在“物理路径凭据”中。我删除了它,结合部署开始工作。

还要确保从VS部署时使用“localhost”而不在下一个字段中显示端口号和站点名称。

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

答案 18 :(得分:0)

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

为了更清楚,最后一个虚拟路径不存在:
enter image description here

答案 19 :(得分:0)

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

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

我在某处读到了卸载和重新安装Web Deploy如何修复它,因此我打开了“程序和功能”,找到了“ Microsoft Web Deploy 3.6 < / strong>“,然后将其卸载。
它给了我关于其他人与系统连接的警告,但我很绝望。

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

它可能与我安装的Web Deploy版本无关 我读到了这些内容对于您安装这些工具和建议的顺序非常挑剔 我认为这是因为做了一些无序的事情(比如安装推荐服务器配置 之后的Web部署,而不是预先安装),但现在一切都很好。

这是一个链接,其中包含在IIS 8.0上安装Web Deploy时要遵循的一些有用说明:
https://docs.microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later

答案 20 :(得分:0)

我尝试了大多数建议的答案,但没有解决问题。但是,这是我的解决方案:

1-关闭FTP连接(如果有)

2-使用较快的连接,使用较慢的wifi会导致此问题

答案 21 :(得分:0)

我只需要启动Web部署代理服务。出于某种原因,它并没有自动启动。

答案 22 :(得分:0)

请安装最新版本的Microsoft Web Deployment Tool。 您可以使用以下链接。 https://www.iis.net/downloads/microsoft/web-deploy

答案 23 :(得分:0)

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

答案 24 :(得分:0)

显然对我有用的只是重新启动我的可视工作室/重新启动计算机并通过重新发布我的网络应用程序进行重新部署。

答案 25 :(得分:0)

我在visual studio的连接窗口中设置了iis的配置Web部署中使用的用户名和密码,它对我来说很好用..

答案 26 :(得分:0)

只需从http://SeverName:80/msdeployagentservice删除http://即可。也可以尝试使用ServerName。我遇到了这个问题,只是删除了http://

答案 27 :(得分:0)

我已经通过单词&#34;默认网站&#34;解决了这个问题。从Visual Studio 2013中的向导发布时,在站点名称文本框中

答案 28 :(得分:0)

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

答案 29 :(得分:0)

我还通过卸载所有Web部署,然后只安装Web Deploy 2.0来实现这一点。

答案 30 :(得分:-1)

我在发布一组选择性文件时遇到了同样的问题。我刚刚选择了要发布的所有文件,然后成功发布。