首页 > 代码库 > apache 配置代理服务器(正向代理,反向代理)

apache 配置代理服务器(正向代理,反向代理)

正向代理和反向代理是从数据流方向命名的,正向代理,代理的用户请求;反向代理,替代服务器接受请求

 

正向代理: 用户 -》 代理服务器 -》 www  用户的请求数据给发代理服务器,代理服务器帮助用户去www请求数据,然后再返回给用户

作用:配置代理服务器,客户端做代理设置后可以访问facebook,Twitter

如何配置:

<VirtualHost *:80>  DocumentRoot /home/web  ServerName www.xxx.com  ServerAlias xxx.com  ErrorLog "logs/zx_xxx.com-error.log"  CustomLog "logs/zx_xxx.com-access.log" common  <Directory "/home/web">    Options Indexes FollowSymLinks    AllowOverride None    Require all granted  </Directory>  ProxyRequests On  ProxyVia On  <Proxy *>    Order deny,allow    Allow from all  </Proxy></VirtualHost>

先建立一个虚拟主机,然后在里面配置标红的指令,标红指令就是配置正向代理指令

ProxyRequests On 代表开启正向代理
ProxyVia On 修改header数据头,做标识


反向代理: 用户 《- 代理服务器 《- www.xxx.xxx xxx网站根服务器不是直接接收用户的请求,而是通过自己的代理服务器接收请求,然后再转发给自己。

作用:如果你用自己的域名www.xxx.xxx配置了www.baidu.com 的反向代理,那么你访问www.xxx.xxx就相当于访问www.baidu.com (google需要配置ssl代理)

配置:

############反向代理<VirtualHost *:80>    DocumentRoot "D:/www/test"    ServerName www.xxx.com    ServerAlias xxx.com    ErrorLog "logs/fx_xxx.com-error.log"    CustomLog "logs/fx_quduoqi.com-access.log" common    <Directory "D:/www/test">        Options FollowSymLinks        AllowOverride All        Order allow,deny        Allow from all    </Directory>    #反向代理设置    ProxyPass / http://www.baidu.com/    ProxyPassReverse / http://www.baidu.com/</VirtualHost>

同正向代理也是先配置一个虚拟主机,然后配置反向代理指令

ProxyPass / http://www.baidu.com/  代表到www.xxx.com/的请求都转给 www.baidu.com 
ProxyPassReverse / http://www.baidu.com/  替换返回页面中的url 如果页面中有www.baidu.com/xx/xx都替换成www.xxx.xxx/xx/xx

 

我的apache是2.4.6 仅供参考

参考:

http://www.cnblogs.com/zemliu/archive/2012/04/18/2454655.html

http://baike.baidu.com/view/1165595.htm

http://baike.baidu.com/view/751.htm

apache 配置代理服务器(正向代理,反向代理)