Linux 单个外部 IP 后面有多个网站

Linux 单个外部 IP 后面有多个网站

我有一个完全合格的域名(例如 myfqdn.com),并且已与注册商和名称服务器设置将所有请求发送到我的外部/公共 IP 地址(例如 79.79.xx)。

我有两台 Centos 机器,均运行 Centos V7.3.1611、Webmin V1.851、Bind V9.9 和 Apache 2.4.6

我有一台名为 system1.myfqdn.com 的机器,其内部 IP 为 192.168.1.200,这台机器接受所有传入请求。第二台机器是 system2.myfqdn.com,其内部 IP 为 192.168.1.250

我正在尝试使用域 *.system2.myfqdn.com 将 system2 接收的所有流量重定向到 192.168.1.250,其中 * 可以是 www、ftp 等,而 system1 处理所有其他请求,既作为默认请求,也专门命名为 system1。

我尝试使用 apaches mod_proxy 路由网络流量,但从网络外部我所能看到的只是 192.168.1.200 提供的默认页面

我也尝试过使用绑定中的 SRV 记录

reroute.myfqdn.com. in  A   192.168.1.250
_http._tcp.testbed.myfqdn.com.  IN  SRV 0 0 80 reroute.myfqdn.com.

这不是为了负载平衡,而是为了充当重定向。

我通过 ssh 和物理方式对两台机器具有 root 访问权限,并且拥有 webmin 提供的控制权。

如果需要的话我也有备用硬件,但目前我无法获得的是第二个静态 IP。

如果您需要任何澄清,请发表评论。

提前致谢。

戴夫

答案1

您可能希望使用另一台运行配置为反向代理的 Nginx 的服务器或虚拟机。单个 IP 上的所有入站流量都将定向到反向代理,然后反向代理会将请求转发到相应的内部服务器。您可以在 Nginx 中配置主机(每个内部服务器一个),就像 Apache 一样,但 Nginx 不会直接提供内容。它会根据需要从内部 Apache 服务器获取。

关于如何设置的具体细节在这里回答有点长,但是这里有一篇关于如何操作的好文章:https://www.techandme.se/set-up-nginx-reverse-proxy/ 或者,通过搜索“如何使用 Nginx 设置反向代理”,您可以找到更多信息。

相关内容