【问题标题】:TCP Connection forcibly closed by pass-through load balancer?TCP连接被直通负载均衡器强行关闭?
【发布时间】:2020-10-26 00:04:00
【问题描述】:

我已经设置了一个 TCP 网络负载平衡器,如下所述:https://cloud.google.com/load-balancing/docs/network。我需要平衡从互联网上任何地方到我的后端虚拟机的流量,运行一个自定义应用程序来监听非标准 TCP 端口。

最初似乎一切正常,但大约 10 秒后连接的客户端断开连接,报告错误“现有连接被远程主机强制关闭。”。为了调试,我允许我的后端虚拟机拥有公共 IP,并且当直接连接到其中任何一个时,绕过负载平衡器,一切正常并且没有断开连接。

据我了解,我正在使用的这个负载平衡器设置应该是直通的:一旦选择了后端 VM,TCP 连接基本上应该与后端 VM 连接,并且不再涉及负载平衡器。后端虚拟机当然不会强行终止连接 - 就后端而言,客户端断开连接后连接仍然存在并稍后超时。为其他谷歌云负载平衡器描述的超时设置似乎不适用于外部 TCP/UDP 网络负载平衡。

我错过了什么?

【问题讨论】:

  • 你检查过RarrRarrRarr提供的答案吗
  • 我有,谢谢。我不明白这些条件中的任何一个如何导致负载均衡器如此一致地终止我的连接,尤其是当后端虚拟机在相同条件下没有关闭连接时。

标签: google-cloud-platform google-compute-engine google-cloud-networking google-cloud-load-balancer


【解决方案1】:

TCP/UDP 网络负载平衡器是 pass-through load balancers,不会代理与您的后端实例的连接,因此您的后端会收到原始客户端请求。网络负载平衡器不执行任何传输层安全 (TLS) 卸载或代理。流量直接路由到您的虚拟机。

  • 使用这些确认您的网络负载平衡器已正确设置 steps
  • 确保在您的后端虚拟机上运行的服务器软件正在侦听负载平衡器转发规则的 IP 地址。
  • 确保您已使用 source IP ranges 配置防火墙规则以进行网络负载平衡运行状况检查。

此外,您可以捕获 tcpdump 以缩小您的问题范围,这可能会为特定资源提供信息。

【讨论】:

    猜你喜欢
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    相关资源
    最近更新 更多