我在一台服务器上的 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 本地地址的传入连接。