重点参考链接
apache做反向代理服务器
http://blog.51cto.com/yahoon/162922
Linux Apache 配置反向代理
http://blog.csdn.net/zhdl11/article/details/44182725
概念简述
apache代理分为正向代理和反向代理:
1、正向代理: 客户端无法直接访问外部的web,需要在客户端所在的网络内架设一台代理服务器,客户端通过代理服务器访问外部的web(需要在客户端的浏览器中设置代理服务器)适用于:
①局域网的代理服务器(一般是网关,相当于squid的一般用法);
②访问某个受限网络的代理服务器,如教育网访问某些国外网站需要找代理;
2、反向代理: 客户端能访问外部的web,但是不能访问目标web,目标web所在的网络内一台机器充当目标web的代理,客户端直接访问代理就像访问目标web一样(此代理对客户端透明,即客户端不用做如何设置,并不知道实际访问的只是代理而已,以为就是访问的目标)适用于:
①idc的某台目标机器只对内开放web,外部的客户端要访问,就让另一台机器做proxy,外部直接访问proxy即相当于访问目标;
②idc的目标机器的某个特殊的web服务跑在非正常端口如9000,而防火墙上只对外开放了80,此时可在80上做proxy映射到9000,外部访问80即相当于9000。
简单示意图如下:
配置简述
apache安装完成后,进入 /etc/httpd/conf目录,打开 httpd.conf文件,然后:
1、先检查代理模块是否开启;
2、配置最基本的反向代理;
3、重启apache;
具体实施步骤
第一步
看一下如下Module是否已打开,如果没有打开,去掉下面代码前面的注释符号#
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
第二步
打开/etc/httpd/conf目录下的httpd.conf,在末尾添加如下代码:
简单说一下这几个参数:
123.123.123.123 是服务器使用的IP地址
8800 是apache所监听的端口
ProxyPass 与 ProxyPassReverse 后面的『http://www.baidu.com/』是需要我们的请求的真正的目的服务器,其前边的 空格+/+空格 也是属于我们配置的一部分。在正式配置中,反向代理一般统一在extra目录的httpd-vhosts.conf文件中配置。
第三步
重启apache, 进入 /etc/init.d/ 目录,执行 ./httpd restart
验证:在客户端浏览器中输入http://123.123.123.123:8800/,页面将返回百度首页,当我们访问访问http://123.123.123.123:8800/admin/index.html时,应该返回http://www.baidu.com/search/error.html,因为访问的路径不存在。
以上就是最基本的使用apache配置代理转发请求。
参考链接
apache做反向代理服务器
http://blog.51cto.com/yahoon/162922
Linux Apache 配置反向代理