使用一台服务器上的域来加载另一台服务器上的应用程序

使用一台服务器上的域来加载另一台服务器上的应用程序

我在一台服务器上的 ubuntu 操作系统上有一个应用程序。它响应带有域名的 IP 地址,比如说 abc.com。现在有另一台服务器响应域名,比如说 xyz.com。该应用程序不在该服务器上。我希望该域 xyz.com 在被调用时加载另一台服务器(带有 abc.com 的服务器)上的应用程序。但是,我还希望域 abc.com 也加载相同的应用程序。我不确定该怎么做,对 mod_rewrite 的更改是否可以实现这一点。

感谢回复

答案1

这是我为反向代理写的一篇文章的片段。它与您要做的事情并不完全相关,但可能会给您一些方向和想法。

有时您可能需要多个 Web 服务器,但只给您一个公共 IP 地址。您将遇到的问题是,您希望多个域解析相同的 IP 地址,但指向不同的服务器。这在 Apache 中非常可行。我在我的私有云中配置了一个网关服务器,地址为 192.168.1.2。我有几个具有本地地址的 Web 服务器;例如 192.168.1.10 和 192.168.1.11。

在我的网关服务器上,我安装了 Apache 和 mod_proxy 文件。完成后,我就可以设置虚拟主机来转发域名。

<VirtualHost *:80>
   DocumentRoot /var/www/example.org
    ServerName *.example.org
    ProxyRequests Off
    <Proxy *>
      Order deny,allow
      Allow from all
    </Proxy>
    ProxyPreserveHost on
    ProxyPass / http://192.168.1.10/
    ProxyPassReverse / http://192.168.1.10
</VirtualHost>

<VirtualHost *:80>
   DocumentRoot /var/www/example.com
    ServerName *.example.com
    ProxyRequests Off
    <Proxy *>
      Order deny,allow
      Allow from all
    </Proxy>
    ProxyPreserveHost on
    ProxyPass / http://192.168.1.11/
    ProxyPassReverse / http://192.168.1.11/
</VirtualHost>

重新启动 Apache 并配置您的路由器以接受到 192.168.1.2 本地地址的传入连接。

相关内容