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

我一直在使用 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都响应端口扫描。在发布设置中,对于 ServiceURL,我使用的是远程计算机的 IP 地址(http://###.###.###.###)。对于用户名,我使用 DomainName 管理员,这是我使用 RDP 登录时使用的。

我在 MSDN 论坛上发表了一篇文章,其中一位成员建议我将 Web 部署工具从 V2.0回滚到 V1.1。我已经这么做了,但这改变不了什么。

按照这个 有个问题答案中的建议,我尝试从命令行运行 msdeploy

< em > 伺服器 的命令行我得到:

C: Program Files IIS MicrosoftWeb Deploy > msloy- 谓词: dump - source: dirpath = c: temp,computer name = http://SeverName:80/msdeployagentservice,username=Administrator,password=XXXX - Verbose-debug Verbose: 使用 ID‘ c12c3392-2290-44b7-9434-dbd0ff5f9385’连接到远程 详细说明: 对远程代理 URL 进行预验证 “ http://ServerName:80/msdeployagentservice”为“管理员”。 DirPath (name = MSDeploy.dirPath) c: temp (name = dirPath) (keyAttribute = c: temp)(linkName = Child1)

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

C: Program Files IIS MicrosoftWebDeploy V3 > msloy- 谓词: dump 来源: dirpath = c: temp,computer tername = http://###.###.###.###:80/msdeployagentservice,username=Administrator,password=XXXX-verose-debug Info: 使用 ID’7f0b7d5b-e202-424c-a7add-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.DeploymentException: 无法创建类型为“ dirPath”和路径为“ c: temp”的对象 System.Net.WebException: 远程服务器返回一个错误: (400) 错误请求.at System.Net.HttpWebRequest.GetResponse () at Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse (HttpWebRequest Request)——-内部异常堆栈跟踪的结束——-—— - 内部异常堆栈跟踪——-at Microsoft.Web.DeploymentManager.CreateObjectPrivate (DeploymentProviderContext 提供上下文,部署基础选项基础选项,部署对象 源对象,字符串服务器版本) Microsoft.Web.DeploymentManager.CreateObject (DeploymentProviderOptions 提供者选项,部署基础选项基础选项) 创建对象(DeploymentProviderOptions) 提供者选项,部署基础选项基础选项) ExecuteWorker () at MSDeploy.MSDeploy. Execute ()
在 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

我能找到的唯一提到这个特定行为的东西是 ISAServer2000的 Microsoft 支持文章

我还能看什么?

113956 次浏览

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

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

我也遇到了同样的问题,最终通过在服务 URL 中更改为 https 解决了这个问题。

我还通过卸载所有 Web 部署,然后只安装 Web 部署2.0来解决这个问题。

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

Default Web Site/MyApplication

我把这个问题提交给微软部署团队,希望他们能够澄清,如果你不指定一个现有的网站名称,那么这个错误会让你认为这个网站部署服务器已经死了。

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

我也有这个,花了好几个小时把我的头撞到墙上,直到我尝试了这个。(谢谢 Chris!)

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

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

为了解决这个问题,我使用了以下步骤: 服务器: WS2012.DEV Vs2012 MVC4计划。

1)在服务器上创建需要名称的空网站,如果没有将默认网站重命名为其他名称,则在发布时使用“ Default Web Site”。

我在这个链接中使用了信息

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

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

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

我确保其他版本没有安装

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

Site Name is important.

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

Publish wizard

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

services

我今天还在这个错误(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 站点的所有信息从来都没有真正起到作用。

我已经通过重新启动 Web 管理服务在服务器上修复了这个问题

我在使用“ 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. 点击“ MicrosoftWebDeploy”
  3. 点击“更改”按钮(除了“卸载”)
  4. 点击“下一步”

enter image description here

  1. 点击“更改”

enter image description here

  1. 添加标有红色 X 的特性

enter image description here

  1. 完成安装

    结果 : 从 VisualStudio 发布正常工作

通过在 VisualStudio2013中从向导发布时在网站名称文本框中添加“默认网站”,我已经解决了这个问题

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

在本例中,我必须在远程机器上重新启动 Web 部署代理服务。

只需从 http://SeverName:80/msdeployagentservice删除 http://。还可以尝试只使用 ServerName。我有这个问题,并解决了删除 http://

我设置我的用户名和密码,使用在 配置 Web 部署的 iis,在 连接窗口的视觉工作室,它工程罚款我..。

我遇到了另一个情况,这突然对我不起作用了。

这是因为我有一个 IP 地址限制指定的管理服务和我的 ISP 分配给我一个新的 IP。我忘了我说过了。

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

显然,对我有效的方法只是重新启动我的视觉工作室/重新启动我的电脑,然后通过重新发布我的 web 应用程序进行重新部署。

利用来自几个论坛和答案的信息,我最终成功地安装了 Microsoft 的 Web Deploy,就像我可以在 Visual Studio 上成功地使用它发布一样(在没有激活防火墙的情况下进行了测试) :

  1. 使用服务器管理器中的“添加角色功能”为 IIS 安装“管理服务”
  2. 安装 Web Deploy (重要事项: “完成”和安装“ ManagementServices”之后) Http://www.iis.net/downloads/microsoft/web-deploy#additionaldownloads

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

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

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

请安装最新版本的 MicrosoftWebDeploymentTool。 你可使用以下连结。 Https://www.iis.net/downloads/microsoft/web-deploy

AWS EC2实例上也有同样的问题。

  1. 导航到 EC2实例,选择相应的实例并在 描述节中复制 安全小组名称

enter image description here

  1. 导航到 保安组并选择相应的安全组,并添加以下 输入规则 如果不见了

enter image description here

我在发布一组精选的文件时遇到了同样的问题。我只是选择了要发布的所有文件,然后成功地发布了它们。

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

windows management service

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

我首先安装了“ Web Deploy 3.6 without bundle SQL support ”。
然后是“ < em > 推荐的 Web 主机提供商服务器配置 ”。
我想“ 我不需要所有的 SQL 支持”。
在我的 VisualStudio 发布配置文件中,如果没有看到上面提问者文档中的相同错误,我就无法越过“ 验证连接”。

我在某个地方读到过卸载和重新安装 Web Deploy 会如何修复它,所以我打开“ 程序和特性”,找到“ < em > MicrosoftWebDeploy 3.6 ”,然后卸载它。
它给我警告,其他人正在连接到系统,但我是绝望的。

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

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

以下是在 IIS 8.0上安装 Web Deploy 时需要遵循的一些有用说明:
Https://learn.microsoft.com/en-us/iis/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later

我也遇到过类似的问题“ ERROR _ could _ NOT _ CONNECT _ TO _ REMOTESVC”,于是我进入 IIS-> Your WebSite-> Advanced Settings,发现我的用户名出现在“物理路径凭证”中。我把它取下来,婚礼部署就开始工作了。

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

我把端口和它也是错误的 ERROR _ DESTINATION _ NOT _ REACHABLE。

确保允许到8172端口的通信。 在我的 NSG 上添加入站规则解决了这个问题。

enter image description here

检查 TLS 不匹配。我们使用 SchUseStrongCrypto reg 密钥在一台机器上强制 TLS 1.2,而不在另一台机器上强制 TLS 1.2。在这里博客更多的细节 https://fuseit.zendesk.com/hc/en-us/articles/360000328595

这个错误 ERROR_COULD_NOT_CONNECT_TO_REMOTESVC花了我两天的时间才弄清楚,在我的情况下,网站名称不匹配。远程 IIS 服务器上的站点名称与我在 VisualStudio 中为部署设置的站点名称不同。我希望能帮到别人

还要确保 IIS 中存在一个网站,其名称是您在“网站名称”字段下提供的。

在我的情况下,没有安装 Web 部署工具。在 Web 平台安装程序中安装它之后,我就可以工作了。

我在试图将一个网站发布到蔚蓝色应用服务时也遇到了同样的问题。
在我的例子中,我为一个新网站创建了一个虚拟路径,由于某种原因,这个虚拟路径与我从应用程序服务中删除的主题无关。< br/> ,我已经再次创建了它的 但是忘记了按 拯救在 Azure 门户。结果是错误,当然,这是通过重新创建这个虚拟路径而不忘记保存来解决的。

更明确地说,最后一条虚拟路径并不存在:
enter image description here

我已经尝试了大多数提出的答案,但没有解决问题。然而,这里是我的解决方案:

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

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

如果您已经安装了 Web 部署,只需检查它的相关服务是否正在运行

enter image description here

如果其中一个被阻止,你会得到这样的错误

我在尝试建立一个全新的 IIS 发布配置文件时也遇到了这个问题。在尝试验证新配置文件设置屏幕上的连接时,我得到了这个错误。解决方案是不输入用户名或密码并单击 Save 保存配置文件。然后,在创建概要文件之后,我可以编辑概要文件并输入用户名和密码,验证就成功了。