为什么IPv6会干扰Web部署?

时间:2016-06-09 21:00:45

标签: visual-studio iis teamcity msdeploy

为什么Visual Studio Web Deploy在发布到解析为IPv6地址的Intranet站点时会出现“发送时发生意外错误”的故障?我假设IPv6与它有关,因为将IPv4地址添加到hosts文件可以解决问题并且Web部署成功。

详细说明:

  • 最初构建错误来自TeamCity构建代理,但尝试从Visual Studio发布(或仅验证发布配置文件中的连接)时会出现同样的问题。
  • 对目标计算机的ping(成功)解析为IPv6地址,该地址与在目标计算机上运行“ipconfig”时找到的地址相同,但尾端的Scope ID不同。
  • 目标计算机的Windows UNC共享路径正常
  • 目标计算机实际上是构建代理程序运行的VM的主机。

以下是验证发布配置文件上的连接时出错。

Error message from Validate on publish profile

原始构建/部署尝试的详细信息。

  

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web \ Microsoft.Web.Publishing.targets(4276,5):Web部署任务失败。 (无法完成对远程代理URL“https://tapserver:8172/msdeploy.axd?site=MealPlannerCIAPI”的请求。)   此错误表示您无法连接到服务器。确保服务URL正确,此计算机和服务器计算机上的防火墙和网络设置已正确配置,并且已在服务器上启动相应的服务。   错误详情:   无法完成对远程代理网址“https://tapserver:8172/msdeploy.axd?site=MealPlannerCIAPI”的请求。   底层连接已关闭:发送时发生意外错误。   无法从传输连接读取数据:远程主机强制关闭现有连接。   远程主机

强制关闭现有连接

我再一次解决了这个问题,但这对我来说是一个非常令人困惑的问题。什么会破坏通过将IPv4地址添加到hosts文件时修复的任何msdeploy调用,当它显然已经使用v6到达该主机时?

1 个答案:

答案 0 :(得分:0)

您是否检查过管理服务配置(IIS)中的选项IP Address Restrictions

请注意,如果您尝试访问IPv6目标,则始终使用本地IPv6地址进行连接。如果您已配置任何限制,则他们不会申请您的IPv6地址,因为限制配置与IPv6不兼容。因此,如果您将Access for unspecified clients设置为Deny,则会自动拒绝您的连接尝试。