这两台机器A和B是1个IP地址后面的NAT。
Url.xyz.com转到apache 2.2服务的端口80上的机器A. 和url2.xyz.com应该在该机器上的apache 2.2服务的端口80上进入机器B
我有机器A从我的网关获取所有入站端口80数据包... fyi
有一次我在机器A上设置了apache来做到这一点,但现在我正在努力 重新获得良好的配置。我在差异机器B上使用diff OS是有充分理由的....
我记得在机器A上的apache 2.2中使用设置虚拟服务器url2.xyz.com 端口80,然后将机器A和B上的主机文件设置为标题为:
的行192.168.0.x url2.xyz.com url2
并在机器A上的apache中为url2.xyz.com设置文档根目录等于机器B上的文档根目录。(它不会占用空白字段....)
我要么在做梦,要么缺少轻微的设置步骤。任何帮助赞赏。我记得,从大约六个月前开始,机器A上的apache似乎读取了主机文件并做到了这一点。
净好结果是(希望)机器A上的虚拟服务器从机器B(或C,或D等等)获取内容
或者我会尝试从我的提供商那里获得另一个IP地址。
答案 0 :(得分:3)
一种可能性是让机器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>
然后在机器A上定义url2.machineB以指向机器B的IP地址。您可以通过在文件/ etc / hosts中添加一行来完成此操作。然后在机器B上创建一个apache虚拟主机来监听该域,如下所示:
<ViirtualHost *:80>
ServerName url2.machineB
DocumentRoot /var/www/url2
</VirtualHost>
这可能不是解决方案,但应该给你一个选择。有关代理的更多信息,请参阅http://httpd.apache.org/docs/2.2/mod/mod_proxy.html。