Apache 如何重定向两个URL';s位于同一端口上,连接到两个不同的IP';内部的

Apache 如何重定向两个URL';s位于同一端口上,连接到两个不同的IP';内部的,apache,nat,Apache,Nat,这两台机器A和B是1个IP地址后面的NAT Url.xyz.com转到apache 2.2提供的端口80上的机器A url2.xyz.com应该转到机器B上的端口80,该端口由该机器上的apache 2.2提供服务 我让机器A从我的网关接收所有入站端口80数据包…仅供参考 有一次我在机器A上安装了apache来实现这一点,但现在我很挣扎 重新获得好的配置。我在diff机器B上使用diff操作系统有很好的理由 我记得在机器A上的Apache2.2中使用 端口80,然后将机器A和B上的主机文件设置为

这两台机器A和B是1个IP地址后面的NAT

Url.xyz.com转到apache 2.2提供的端口80上的机器A url2.xyz.com应该转到机器B上的端口80,该端口由该机器上的apache 2.2提供服务

我让机器A从我的网关接收所有入站端口80数据包…仅供参考

有一次我在机器A上安装了apache来实现这一点,但现在我很挣扎 重新获得好的配置。我在diff机器B上使用diff操作系统有很好的理由

我记得在机器A上的Apache2.2中使用 端口80,然后将机器A和B上的主机文件设置为具有标题为:

192.168.0.x url2.xyz.com url2

并将机器A上apache中url2.xyz.com的文档根目录设置为与机器B上的文档根目录相同(不需要空白字段…)

我不是在做梦,就是错过了一个小小的设置步骤。谢谢你的帮助。我记得,大约六个月前,机器A上的apache似乎读取了主机文件,并且做得很好

净好的结果是(希望)机器A上的虚拟服务器从机器B(或C、或D等)获取内容


或者,我将尝试从我的提供商处获取另一个Ip地址。

一种可能性是让机器A充当机器B的代理。这意味着两个域的所有请求都将转到端口80上的机器A,但随后您将在apache中设置基于名称的虚拟主机。url2.xyz.com的虚拟主机然后将请求转发到机器B

大概是这样的:

计算机A上的虚拟主机:

<VirtualHost *:80>
ServerName url1.xyz.com
DocumentRoot /var/www/url1
</VirtualHost>

<VirtualHost *:80>
ServerName url2.xyz.com
ProxyPass / http://url2.machineB/
ProxyPassReverse / http://url2.machineB/
</VirtualHost>

服务器名url1.xyz.com
DocumentRoot/var/www/url1
服务器名url2.xyz.com
ProxyPass/http://url2.machineB/
ProxyPassReverse/http://url2.machineB/
然后在机器A上定义url2.machineB以指向机器B的IP地址。您可以通过在文件/etc/hosts中添加一行来实现这一点。然后在机器B上创建一个apache虚拟主机来侦听该域,如下所示:

<ViirtualHost *:80>
ServerName url2.machineB
DocumentRoot /var/www/url2
</VirtualHost>

服务器名url2.machineB
DocumentRoot/var/www/url2
这可能不是确切的解决方案,但应该给你一个选择。有关代理的详细信息,请参见