【发布时间】:2012-04-19 11:59:17
【问题描述】:
我的 apache2 虚拟主机“httpd.conf”文件中有一个特定的子域,我想重定向到另一个本地 apache 服务器。我有一个将端口 80 上的所有请求重定向到原始服务器的路由器。
第二台服务器不在不同的全局 IP 地址上,而是在不同的本地 IP 地址上。
有什么办法可以做到这一点,
谢谢
【问题讨论】:
标签: apache virtualhost
我的 apache2 虚拟主机“httpd.conf”文件中有一个特定的子域,我想重定向到另一个本地 apache 服务器。我有一个将端口 80 上的所有请求重定向到原始服务器的路由器。
第二台服务器不在不同的全局 IP 地址上,而是在不同的本地 IP 地址上。
有什么办法可以做到这一点,
谢谢
【问题讨论】:
标签: apache virtualhost
您可以使用 Apache 的代理功能来做到这一点。例如:
<VirtualHost *:80>
ServerName myhostname
<Location />
ProxyPass http://address-of-local-server/
ProxyPassReverse http://address-of-local-server/
</Location>
</VirtualHost>
这将导致 Apache 将匹配此 VirtualHost 定义的请求代理到另一台服务器,并将结果返回给客户端。
这假定您启用了mod_proxy。
【讨论】:
您可以修改任何由其 IP 地址标识的资源的代理,例如
<VirtualHost *:80>
ServerName subdomain.domain.com
DocumentRoot /whatever
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location / >
ProxyPass http://192.168.0.x
ProxyPassReverse http://192.168.0.x
</Location>
#...
</VirtualHost>
【讨论】: