如何将某些 http 请求重定向到专用网络中的机器?

问题描述

我有一个计算节点集群。只有一个节点是公开可用的(端口 80)。其他节点可以通过一些VPN访问。现在,我在集群中的某个节点上托管了一个 Web 服务,如何在不使用 VPN 的情况下使用端口 80 通过公开可用的节点将 http 请求重定向到该服务?不应重定向托管在公共节点上的网站。在公开可用的节点上,安装了 apache2 并托管了一些其他网站。

我尝试使用 iptable 将 HTTP 请求从公共节点上的 80 端口重定向到另一个节点上的服务,但是所有 HTTP 请求(包括对公共节点上网站的请求)都被重定向了。我还尝试修改源 IP 地址,但所有外部 IP 地址都隐藏在集群中,因此它不起作用。 任何指南或想法?谢谢。

解决方法

如果您的节点在同一个子网中,那么您可以在集群内使用 Private IP 访问它们。请检查其他节点上的端口设置。如果您尝试访问其他节点上的服务,例如 node-privateip:8082,则您必须在该节点上打开该端口。

另外,检查防火墙设置。这可能会导致问题。尝试从公开可用的节点 ping 到其他节点并检查您是否收到响应。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...