7

我正在尝试使用 VS2010 发布功能部署我的 ASP.NET MVC 3 Web 应用程序。我使用 Web Deploy 作为 Publish 方法,但我收到此错误:

错误 1 ​​Web 部署任务失败。(无法联系远程代理(URL http://192.168.1.11/MSDEPLOYAGENTSERVICE)。请确保在目标计算机上安装并启动了远程代理服务。)确保站点名称、用户名称和密码正确。如果问题仍未解决,请联系您的本地或服务器管理员。错误详情:无法联系远程代理(URL http://192.168.1.11/MSDEPLOYAGENTSERVICE )。确保在目标计算机上安装并启动了远程代理服务。收到了不受支持的响应。响应标头“MSDeploy.Response”为“V1”,但应为“v1”。远程服务器返回错误:(401) Unauthorized。

我怎样才能绕过这个并让它发挥作用?我的服务器是 Windows 2008 R2。

4

3 回答 3

5

看看我为遇到不同问题的人提供的这个答案,WebDeploy 有一些问题:

msdeploy(Web 部署)因 401 身份验证问题而失败

如果您可以同时控制开发机器和服务器,请确保升级到 WebDeploy 2.0。

最后确保正确配置服务器,相信我花时间完成这一步可以节省头发:

配置 Web 部署

于 2011-03-30T18:32:47.590 回答
1

对于那些仍在寻找的人,我必须确保:

  • 指定端口 8172,使用默认服务名称 (msdeploy.axd),使用 https 并选中复选框以允许来自 Visual Studio 的发布服务 url 中的不受信任证书:https://serveraddress:8172/msdeploy.axd

另外,我发现这篇IIS 文章对设置服务非常有帮助。

于 2012-03-23T12:39:31.477 回答
1

我为此拉了4个小时的头发。这是我用于配置设置的内容。在 IIS 中(服务器 2008 R2 上的 7.5)

我为我设置的 IIS 帐户授予了发布权限(尽管我也使用了服务器管理员帐户,以排除权限问题,最终,两者都有效。)

我把其他一切都原样保留了。我部署到的服务器是 VPS,因此计算机名称与我的应用程序或域无关,因此我保留了为发布连接指定 URL 原样。我离开了保存发布设置文件的位置。

在 Visual Studio 中:

  • 发布方式:Web Deploy
  • 服务 URL: https : //myservice.com(这里没有端口或 msdeploy,只有 https 上的 url)
  • 站点应用程序:mysitename/myapplicationname(对我来说,它们都是同名)
  • 标记为 IIS 应用程序:选中
  • 留下额外文件:选中
  • 允许不受信任的证书:选中

对于用户名 - 我不需要使用完全解析的名称,所以user,而不是servername\user - 工作正常。

这因 404 错误而失败 - 如果我尝试通过 http 而不是 https(Service URL) 发送它,它会因套接字错误 (10054) 而失败。

我验证了所有必需的服务都在运行,并重新启动了它们。我还重新启动了 IIS(这对我来说很痛苦)。还是纳达。

然后我决定在服务器(3.0 RC)上重新安装 web deploy。我确保使用自定义安装选项,当我这样做时,我确保所有组件和处理程序都已安装(默认情况下它们不是)。一旦我这样做了,一切都开始正常工作。

我不确定我第一次安装是否有问题,但现在效果很好。

于 2012-08-13T14:38:09.190 回答