Apache 负载均衡 session

0. 需求:来自同一个session的请求,转发到同一个server上。


1. 修改httpd.conf 添加:
LoadModule headers_module modules/mod_headers.so
需要mod_headers来设置response headers.
添加:
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
ProxyRequests Off
<Proxy balancer://mycluster>
BalancerMember http://1.1.7.224:8080/ route=server1
BalancerMember http://1.1.7.81:8080/ route=server2
</Proxy>
ProxyPass / balancer://mycluster/ stickysession=ROUTEID
ProxyPassReverse / balancer://mycluster/
这样,如果浏览器第一次访问时,如果访问了server2,那么以后来自同一个session的请求都会发送至server2。

完了。


2. 解释一下
上面的, %{BALANCER_WORKER_ROUTE}e 值为 BalancerMember 中的 route,即server1或server2。
返回到浏览器的cookie就是

ROUTEID=.server1; path=/
或者

ROUTEID=.server2; path=/


ProxyPassReverse
如果 http://1.1.7.224:8080/test/test1.jsp 被redirect到了 http://1.1.7.224:8080/test/test2.jsp ,那么当访问 http://localhost/test/test1.jsp 时,本应被redirect到 http://1.1.7.224:8080/test/test2.jsp 的响应被改成了被redirect到 http://localhost/test/test2.jsp 。redirect的请求仍会经过负载均衡。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值