一. 为编译好的apache添加proxy module
/usr/local/apache2/bin/apxs -i -c -a mod_proxy.c proxy_util.c
-c表示进行编译,-i表示将生成的模块安装到apache的modules目录下,-a选项在httpd.conf中增加一条LoadModule指令以载入刚安装的模块,或者如果此指令已存在,则启用之。
apxs会根据源码判断模块的名称,或者(在失败的情况下)根据文件名推测模块名称,可以用-n选项显式地指定模块名称。
安装成功以后将在apache的modules目录下生成mod_proxy.so文件,并且在httpd.conf中加入了一行
LoadModule proxy_module modules/mod_proxy.so
proxy只是核心模块,具体使用时还需要其它模块的支持,安装方法类似。
/usr/local/apache2/bin/apxs -i -c -a mod_proxy_http.c
/usr/local/apache2/bin/apxs -i -c -a mod_proxy_ftp.c
/usr/local/apache2/bin/apxs -i -c -a mod_proxy_connect.c
同样,安装后在apache的modules目录中生成了mod_proxy_http.so, mod_proxy_ftp.so, mod_proxy_connect.so文件。并且在httpd.conf中添加了如下行:
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
这样,mod_proxy模块就安装好了,进行具体的应用配置,重启apache就可以了。
二. 反向代理+负载均衡的配置
ProxyPass /bookstore/ balancer://bookstore/
#ProxyPass balancer://bookstore/
ProxyPassReverse /bookstore/ balancer://bookstore/
#ProxyPassReverse balancer://bookstore/
<Proxy balancer://bookstore>
BalancerMember http://192.168.1.114:8080/bookstore/ loadfactor=3
BalancerMember http://192.168.1.114:8081/bookstore/ loadfactor=1
</Proxy>
三, apache作为http代理服务器
在httpd.conf中添加如下内容
LoadModule proxy_module modules/proxy_mod.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyRequests On
ProxyVia On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
四,apache做为反向代理服务器(gateway)
LoadModule proxy_module modules/proxy_mod.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyRequests Off
ProxyPass /shao http://www.baidu.com
ProxyPass /ting http://www.google.com