我已经设置了一个 TCP 网络负载平衡器,如下所述:https ://cloud.google.com/load-balancing/docs/network 。我需要平衡从互联网上任何地方到我的后端虚拟机的流量,运行一个自定义应用程序来监听非标准 TCP 端口。
最初似乎一切正常,但大约 10 秒后连接的客户端断开连接,报告错误“现有连接被远程主机强制关闭。”。为了调试,我允许我的后端虚拟机拥有公共 IP,并且当直接连接到其中任何一个时,绕过负载平衡器,一切正常,并且没有断开连接。
据我了解,我正在使用的这个负载平衡器设置应该通过:一旦选择了后端 VM,TCP 连接基本上应该与后端 VM 连接,并且不再涉及负载平衡器。后端虚拟机肯定不会强行终止连接 - 就后端而言,客户端断开连接后连接仍然存在并稍后超时。为其他谷歌云负载平衡器描述的超时设置似乎不适用于外部 TCP/UDP 网络负载平衡。
我错过了什么?