apache ProxyPass ProxyPassReverse概述

        上一篇中讲了apache的安装配置参数,生成了我想要的代理、rewrite相关模块,对于代理的配置规则,在这里进行一个概述。
       mod_proxy代理的作用主要就是进行url的转发,而应用转发功能,可以实现同tomcat等应用服务器的整合,同时也可以实现web集群负载均衡的功能。以下先介绍大致的规则:
       proxy是位于客户端与实际的服务器之间的服务器,一般称为facade server,负责将外部的请求分流,也负责对内部的响应做一些必要的处理。如果结合mod_cache,则可提高访问速度,适当的减轻网络流量压力。闲话少说,直接拿个例子来:
    设本站地址为 www.test.com
    ProxyPass /images/ !
    ProxyPass /js/ !
    ProxyPass /css/ !
    ProxyPass /example http://www.example.com/
    ProxyPassReverse /example http://www.example.com/
    ProxyPass / ajp://127.0.0.1:8009/
    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
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Apache 配置 1. 配置httpd.conf 使用apache自带的proxy模块,去掉注释使其可用 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.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 去掉 Include conf/extra/httpd-vhosts.conf的注释 2. 配置httpd-vhosts.conf 内容如下 <VirtualHost *:80> ServerName uambank.6677bank.com ProxyPass / http://uambank.6677bank.com:8080/ ProxyPassReverse / http://uambank.6677bank.com:8080/ </VirtualHost> <VirtualHost *:80> ServerName bbs.6677bank.com ProxyPass / http://bbs.6677bank.com:8090/ ProxyPassReverse / http://bbs.6677bank.com:8090/ </VirtualHost> 3. 修改windows host文件 127.0.0.1 uambank.6677bank.com 127.0.0.1 bbs.6677bank.com tomcat_uambank的设定 Shutdown 端口 <Server port="8005" shutdown="SHUTDOWN"> http 端口 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> AJP 端口 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> HOTST 配置 <Host name="uambank.6677bank.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/uambank" reloadable="false" docBase="D:\\jdk\\workspace\\uambank\\uambank\\deploy\\target\\uambank-webapp" workDir="D:/jdk/workspace/work" /> </Host> tomcat_bbs的设定 Shutdown 端口 <Server port="8015" shutdown="SHUTDOWN"> http 端口 <Connector port="8090" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" /> AJP 端口 <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" /> HOTST 配置 <Host name="bbs.6677bank.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="" reloadable="false" docBase="jforum" workDir="D:/jdk/workspace/work" /> </Host>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值