Apache重定向并代理请求

想要使用Apache的url重写功能将所有访问80端口的请求转向另一个服务器的另一个端口,即实现apache重定向并内部子代理,可以如下修改配置文件:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so

注意加载顺序

<IfModule rewrite_module>
RewriteEngine on
ProxyRequests on
RewriteRule ^/(.*)$ http://192.168.0.45:9000/$1 [p]
</IfModule>

这些实现的效果是所有访问Apache服务器的请求都被重定向到http://192.168.0.45:9000,但地址栏的信息仍然是apache服务器的地址,因为Apache使用了代理对请求进行了转发,并将结果返回给请求客户端。