apache做反向代理

最近做的网站项目,静态站点和动态应用都是分别部署的,使用apache的代理功能可以很好的满足这个需求。
前提条件:apache已安装,代理模块没有启用,准备apache的安装源码
1、
在已经装好的apache在 /usr/local/apache2
进入apache源码的模块目录进行编译

#cd httpd-2.0.63/modules/proxy/
#/usr/local/apache2/bin/apxs -c -i -a mod_proxy.c proxy_connect.c proxy_http.c proxy_util.c
#/usr/local/apache2/bin/apxs -c -i -a mode  mod_proxy_http.c  mod_proxy_http.dsp

从输出里面看到apache的modules目录下已经产生了mod_proxy.so,且已经在httpd.conf中激活了
cd /usr/local/apache2/conf/
ls ../modules/ 看到确实有mod_prxoy.so


2、
编辑配置文件
vi httpd.conf
修改如下加载模块
LoadModule proxy_module modules/mod_proxy.so (这句是编译激活时产生的)
LoadModule proxy_http_module modules/mod_proxy.so (这句是要手动添加的)

3、
配置代理的内容,在配置虚拟主机的部分加上,如apache主机是192.168.1.1,占用80端口,需要代理的应用是http://192.168.1.2:9060/CPZQ

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.a.org
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /CPZQ http://192.168.1.2:9060/CPZQ
ProxyPassReverse /CPZQ  http://192.168.1.2:9060/CPZQ
</VirtualHost>
重启apache生效

这样就可以通过访问http://192.168.1.1/CPZQ 来跳到http://192.168.1.2:9060/CPZQ

现在比较热门的ngix的代理功能也比较强大,越来越多的站点在使用ngix做代理服务器或者web服务器。

猜你喜欢

转载自woody-woodpecker.iteye.com/blog/1299395
今日推荐