【问题标题】:VS 2010 Publish using Web DeployVS 2010 使用 Web 部署发布
【发布时间】:2011-03-30 18:22:27
【问题描述】:

我正在尝试使用 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) 未经授权。

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

【问题讨论】:

    标签: visual-studio-2010 iis-7 web-deployment-project windows-server-2008-r2 webdeploy


    【解决方案1】:

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

    msdeploy (Web Deploy) failing with 401 auth issues

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

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

    Configure Web Deploy

    【讨论】:

    • 现在我得到这个:警告:由于发生套接字错误 (10054),正在重试同步。重试对象站点清单 (sourcePath) 上的“序列化”操作。尝试 3 次,共 10 次。
    • @zote - 你的防火墙允许端口 8172 吗?
    • 是的。我们的 DMZ FW 允许它并且 Windows 防火墙被禁用。我们的系统管理员正在监控,没有任何东西被阻止或丢弃。
    • @zote - 您使用的是 http 还是 https?即使它是本地的,您仍然使用带有“允许不受信任的证书”的 https。仔细检查 @kev 发布的第二个链接中的“发布服务器连接的 URL”文本框。
    • 我还收到错误“警告:由于发生套接字错误 (10054),正在重试同步。正在重试对象站点清单 (sourcePath) 上的“序列化”操作。尝试 1 次,共 10 次。”有人找到解决方法了吗?
    【解决方案2】:

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

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

    另外,我发现这个IIS article 对设置服务非常有帮助。

    【讨论】:

      【解决方案3】:

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

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

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

      在 Visual Studio 中:

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

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-07-11
        • 2011-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多