我的局域网上有几台机器。 他们上运行2个网站,first_web_site和second_web_site(每个在一个专用的NameVirtualHost)。 另一台机器运行另一个网站third_web_site。 我希望能够访问互联网上的每一个,与url:
知道两个站点在同一台机器上。 Apache能帮我做到吗?
我有一台机器,将有一个Apache服务器用于代理目的。 我谈到了在这个虚拟主机上使用代理服务器,但我不知道如何做到这一点。
你能给我提示吗? 谢谢,Luc
在你的apache conf.d中创build或者编辑vhosts.conf(或者等同于OS)。
使用NameVirtualHost指令处理DNS名称。
NameVirtualHost *:80
然后定义每个虚拟主机。 像下面这样:
<VirtualHost *:80> ServerName sub1.domain.com ProxyRequests Off ProxyPreserveHost On # use the IP address or DNS or the server to forward to # can include the port as well if necessary ProxyPass / http://xxx1/ ProxyPassReverse / http://xxx1/ </VirtualHost> <VirtualHost *:80> ServerName sub2.domain.com ProxyRequests Off ProxyPreserveHost On ProxyPass / http://xxx2/ ProxyPassReverse / http://xxx2/ </VirtualHost>
对于同一个框中的两个站点,取决于他们如何设置。 如果它们位于不同的端口上,则定义端口(如果它们是path),那么您需要在ProxyPass和ProxyPassReverse条目末尾添加path:
http://xxx1/app1
您可以在第一个连接到第二个连接的盒子上设置一个代理。 这样,第二个盒子就可以完成所有繁重的工作,第一个只需要资源来显示页面。