使用Web Deploy发布VS 2010

7

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

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

如何绕过此错误并使其正常工作?我的服务器是Windows 2008 R2。

3个回答

5

请看我为其他人提供的答案,他们遇到了不同的问题,WebDeploy 有一些需要注意的地方:

msdeploy (Web Deploy) failing with 401 auth issues

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

最后,请确保正确配置服务器,相信我,花费时间进行此步骤可以节省很多麻烦:

配置 Web Deploy


2
现在我得到了这个警告:由于套接字错误(10054)而重试同步。正在尝试对对象sitemanifest(sourcePath)执行操作“序列化”,第3次尝试,共10次。 - Zote
1
@zote - 你在防火墙中允许了8172端口吗? - Kev
是的。我们的DMZ防火墙允许此操作,并且Windows防火墙已禁用。我们的系统管理员正在监控,没有任何被阻止或丢弃的情况发生。 - Zote
@zote - 你是使用http还是https?即使是本地的也要使用带有“允许不受信任证书”的https。请仔细检查@kev发布的第二个链接中的“发布服务器连接的URL”文本框。 - Jedidja
1
我也遇到了一个错误:“警告:由于发生套接字错误(10054),正在重试同步。在对象sitemanifest(sourcePath)上重试操作“Serialization”。第1次尝试中的10次尝试。”有人找到解决方法了吗? - Konstantin Tarkus

1

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

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

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


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(对于我的情况来说很痛苦)。但仍然没有任何进展。

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

我不确定第一次安装是否有问题,但现在它运行得非常好。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接