如何根据子域名将流量从一台服务器重定向到另一台服务器?

如何根据子域名将流量从一台服务器重定向到另一台服务器?

当前布局

一台正常运行的 Ubuntu 16.04 服务器通过家庭办公室中的静态 IP 处理“domain.com”的公共解析以及许多其他虚拟域和子域。该服务器在各种端口上运行 Apache、MySQL、BIND DNS、Postfix 和大量其他基于 Web 的服务。

另外一台机器运行 Ubuntu 18.04,除了学习如何做这些事情之外没有其他特殊用途。

一个 pfSense 盒处理流量。

假设以下情况属实:

pfSense 位于 192.168.1.1 上,是 DHCP 服务器。Ubuntu 盒 1 是 192.168.1.100 (server1.domain.com)Ubuntu 盒 2 是 192.168.1.101 (server2.domain.com)

需要在一个或两个服务器上安装什么才能进入http://server2.domain.com:[whateverport]如何在不使用内部IP地址的情况下在server2上启动基于Web的应用程序?

我目前能够将该特定端口直接路由到第二台服务器并使用公共 IP,但我仍试图给它一个友好的子域名。

谢谢!

答案1

为了能够http://server2.domain.com:port在不使用内部 IP 地址的情况下进入并启动 server2 上的基于 Web 的应用程序,需要在一台或两台服务器上分别安装什么?

解决这个问题的典型方法是让 Apache192.168.1.100将请求传递给它http://server2.domain.com自己192.168.1.101

Listen 1234

<VirtualHost *:1234>

ServerName server2.domain.com

ProxyPass / http://192.168.1.101:1234/
ProxyPassReverse / http://192.168.1.101:1234/

</VirtualHost>

您将希望在 Apache 配置文件中mod_proxy启用此功能,以及可能的mod_proxy_html和。mod_proxy_http

我目前能够将该特定端口直接路由到第二台服务器并使用公共 IP[.]

您需要将给定的端口(例如1234)路由到您的 Apache 服务器以使上述配置正常工作。

相关内容