Apache配置反向代理及负载均衡

在配置之前先确保以下这些配置在conf/httpd.conf文件中是生效的

mod_proxy.so

mod_proxy_ajp.so

mod_proxy_balancer.so

mod_proxy_connect.so

mod_proxy_http.so

mod_headers.so

1.       配置反向代理

在conf/httpd.conf文件中增加以下配置

#在9000端口监听

Listen 9000

<VirtualHost *:9000>  

    ProxyRequests Off  

ProxyPass /  http://128.196.100.81:7001/

 ProxyPassReverse /  http://128.196.100.81:7001/

    <Proxy  *:9000>

        Order Deny,Allow

        Allow from all

    </Proxy>

</VirtualHost>

这种配置只支持简单的反向代理,只能让请求转到一台服务器上,达不到负载均衡的效果

2.       配置负载均衡

#在9000端口监听

Listen 9000

<VirtualHost *:9000>  

ProxyRequests Off  

ProxyPass /  balancer://weblogic/

 ProxyPassReverse /  balancer://weblogic/

  <Proxy balancer://weblogic>

        Order Deny,Allow

        Allow from all

       BalancerMember http://150.20.20.91:8001

   BalancerMember http://150.20.20.92:8001

     </Proxy>

</VirtualHost>

这种配置可以支持简单的负载均衡,但如果对应的服务是有状态的,就是要求维护会话状态(同一个用户登录后的请求会分发到同一台服务器上)的情况下这种配置是不行的

3.       配置负载均衡(支持会话维持)

#在9000端口监听

Listen 9000

<VirtualHost *:9000>  

Header add Set-Cookie "routeId=.%{BALANCER_WORKER_ROUTE}e;path=/" env=BALANCER_ROUTE_CHANGE

ProxyRequests Off  

ProxyPass /  balancer://weblogic/ stickysession=routeId

ProxyPassReverse /  balancer://weblogic/ stickysession=routeId

  <Proxy balancer://weblogic>

        Order Deny,Allow

        Allow from all

       BalancerMember http://150.20.20.91:8001 route=server1

   BalancerMember http://150.20.20.92:8001 route=server1

     </Proxy>

</VirtualHost>

这种配置可以支持维持会话的负载均衡,但只在weblogic上简单测试过,在其它服务器上没测试过

最后,如果要支持比较完整的负载均衡及集群容错的话最好是根据后端的服务器进行不同的配置,比如weblogic提供了一个专门的.so文件来与apache集成,而tomcat的话需要在配置中加上JSESSIONID这样配置,同时提供另一种ajp的方式来支持负载均衡。

转载于:https://my.oschina.net/u/914897/blog/1649047

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值