当前布局
一台正常运行的 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 服务器以使上述配置正常工作。