创星网络[分享知识 传递快乐]

标题: apache ProxyPass ProxyPassReverse概述 [打印本页]

作者: luinstein    时间: 2012-9-25 22:32
标题: apache ProxyPass ProxyPassReverse概述
对于代理的配置规则,在这里进行一个概述。
       mod_proxy代理的作用主要就是进行url的转发,而应用转发功能,可以实现同tomcat等应用服务器的整合,同时也可以实现web集群负载均衡的功能。以下先介绍大致的规则:
       proxy是位于客户端与实际的服务器之间的服务器,一般称为facade server,负责将外部的请求分流,也负责对内部的响应做一些必要的处理。如果结合mod_cache,则可提高访问速度,适当的减轻网络流量压力。闲话少说,直接拿个例子来:
    设本站地址为 www.test.com
  1. ProxyPass /images/ !
  2.     ProxyPass /js/ !
  3.     ProxyPass /css/ !
  4.     ProxyPass /example http://www.example.com/
  5.     ProxyPassReverse /example http://www.example.com/
  6.     ProxyPass / ajp://127.0.0.1:8009/
  7.     ProxyPassReverse / ajp://127.0.0.1:8009/
复制代码
还是上一篇的例子,ProxyPass易理解,就是转发url上的请求,而其中的配置顺序也是需要遵守 。要禁止转发的url需要放在一般的请求之前。对于http://www.test.com/images/  http://www.test.com/js/ http://www.test.com/css/ 的请求是不予转发的,对于http://www.test.com/example/ 的请求,会转发到http://www.example.com
    值得注意的就是ProxyPassReverse的配置了,这是反向代理。为什么要在这里加上这样的配置?我们来看个例子:
    在没有加这样的反向代理设置的情况下,访问http://www.test.com/example/a ,如果www.example.com 对请求进行了redirect至http://www.example.com/b ,那么,客户端就会绕过反向代理,进而访问http://www.test.com/example/b 。如果设置了反向代理,则会在转交HTTP重定向应答到客户端之前调整它为http://www.test.com/example/a/b ,即是在原请求之后追加上了redirect的路径。
更多更详细的关于mod_proxy的描述可以参见手册:
http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_proxy.html

from:http://blog.csdn.net/paulluo0739/article/details/2260137





欢迎光临 创星网络[分享知识 传递快乐] (http://bbs.cxweb.com.cn/) Powered by Discuz! X3