Apache作反向代理

反向代理: 客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目标web一样(此代理对客户端透明,即客户端不用做如何设置,并不知道实际访问的只是代理而已,以为就是访问的目标)。

本例中
机器108.166.222.24是我们的reverse proxy server,apache/2.4.7运行在其80端口。

要实现的效果是:
访问108.166.222.24/a 即相当于访问另一台机器192.168.0.115:8080/a,它是一台内网机器,和reverse proxy server互通,但是不能被外网直接访问。

使用apache的proxy功能可以实现该目标。

环境:Centos服务器

从apache网站上下载http服务器。
tar zxvf httpd-2.4.7.tar.gz
cd httpd-2.4.7
./configure --prefix=/usr/local/apache --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/apache/conf --enable-mods-shared="proxy  proxy_http proxy_ftp proxy_connect"
make
make install

如果不缺少依赖包的话,就应该完成,但是可能会遇到缺少apr包
安装 apr 和apr-util

方法如下:基本和安装apache的方法差不多。

#######安装apr#########
安装 apr 和apr-util

方法如下:基本和安装apache的方法差不多。

#######安装apr#########
tar apr-1.5.0.tar.gz ;
cd apr-1.5.0;
./configure --prefix=/usr/local/apr;
make;
make   install ;

tar zxvf apr-util-1.5.3.tar.gz;
cd apr-util-1.5.3;
./configure --with-apr=/usr/local/apr;
make;
make   install ;

rm: cannot remove `libtoolT': No such file or directory。
安装apr的过程中可能会遇到 rm: cannot remove `libtoolT': No such file or directory。
如果遇到上述情况,则vim configure 在30048行 注释 掉$RM "$cfgfile" 重新执行.configure即可。

安装完毕以后重新进入apache解压以后的包执行./configure --prefix=/usr/local/apache --enable-track-vars --enable-cgi --with-config-file-path=/usr/local/apache/conf --enable-mods-shared="proxy  proxy_http proxy_ftp proxy_connect" 应该就可以了。

遇到缺少 pcre-config包的时候的 解决办法:
[root@www.linuxidc.com httpd-2.4.1]# yum -y install pcre-devel


编译好httpd后,去掉 httpd.conf 文件中的
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
这几行的注释。

在 httpd.conf 文件中的最后,添加:
ProxyPass /a http://192.168.0.115:8080/a
ProxyPassReverse /hhmd http://192.168.0.115:8080/a
<proxy http://192.168.0.115:8080/a>
AllowOverride None
Order Deny,Allow
Allow from all
</proxy>

访问http://108.166.222.24/a 时,会重新反向代理访至http://192.168.0.115:8080/a。

重新启动Apache ./apachectl start,看看效果吧。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值