0

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

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

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

我错过了什么?

4

1 回答 1

0

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

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

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

于 2020-07-07T14:10:53.430 回答