是否可以配置Apache Web服务器以将目录映射到另一个Web服务器上的路径?例如,我可以请求http://server1/resource/返回http://server2/resource/。如果这是可能的,我该如何着手设置?将虚拟目录映射到Apache中的另一个Web服务器
4
A
回答
5
mod_proxy的是要走的路:
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html
用途:
<Location /resource/>
ProxyPass http://server2/resource/
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
</Location>
2
mod_rewrite对此非常强大。您将为/ resource /设置一个重写规则,并使用302重定向将人员发送到服务器二。
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
未经测试的例子:
<location "/">
RewriteEngine On
RewriteRule ^/resource/(.*)$ http://server2/resource/$1 [R]
</location>
0
我认为这个问题是serverfault.com。这里不做详细介绍,但您可以使用Apache配置中的RewriteCond,RewriteRule指令进行设置。
我已经使用mod_proxy and mod_rewrite
规则来实现类似的效果。 PS:检查serverfault.com并给系统管理员一个尝试。
+1
一致认为,这会对ServerFault.com更好 – 2009-06-12 03:33:39
唯一的缺点是这里在每秒环境高要求,你正在代理,因此当你去到另一台服务器和进程时,将apache上的后端打开。这需要更多的开放连接,并且可能比仅通过http头将浏览器发送到正确的服务器要慢。 – 2009-06-12 03:35:41