所以我有 2 个子网、负载均衡器和后端。
BE1 正在运行节点服务器,因为我们正在尝试使套接字正常工作:
BE1 可以请求 localhost:5000/test BE2 可以请求 BE1:5000/test
LB1 可以请求 BE1:80 LB1 -不能- 请求 BE1:5000/测试
[root@lb1 ~]# curl be1:5000/test curl: (7) couldn't connect to host
从任何其他服务器我
[root@be1 ~]# curl be1:5000/test Hello world
任何想法都会有帮助 - 只是想弄清楚:(
答案1
这肯定是 LB1 上的防火墙问题,因为您的设置排除了所有其他选项,其中:
- BE2 可以连接到 BE1:5000(这排除了 BE1:5000 无法被所有人访问的选项)
- LB1 可以连接到 BE1:80(这排除了 BE1 无法到达 LB1 的选项)
- 连接到端口 5000 时curl 给出提示
(7) couldn't connect to host error
(这排除了防火墙在 BE1 本身上运行的选项)
因此,解决方案是刷新 LB1 上的 iptables/为可能在两个网络之间运行的任何防火墙添加规则(从 LB1 到 BE1 的跟踪路由应该会给你一个列表)。