Apache 负载均衡 session
2015-09-18 11:52
627 查看
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的请求仍会经过负载均衡。
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的请求仍会经过负载均衡。
相关文章推荐
- apache URL 区别大小写
- 第一次玩linux,Apache安装
- Apache多站点配置
- APACHE日志参数说明
- MetaException(message:Got exception: org.apache.hadoop.ipc.RemoteException Cannot create directory /
- Centos7安装WordPress(一)安装Apache, PHP And MySQL(LAMP)
- ubuntu apache2 error.log日志数据的具体解释
- 安装nagios后,通过Apache访问nagios不能正常访问,总是下载index.php
- apache软件包下载地址
- apache的工作模式
- Win10下 PHP+Apache+MySQL 详细配置(非集成)
- 使用Apache Commons CLI开发命令行工具
- SQOOP解决class org.apache.sqoop.Sqoop
- apache2 ubuntu log 的地址
- ubuntu apache2 版本号
- django1.6 apache 项目部署.
- ubuntu下配置django+apache+mysql+mod_python+Python
- Apache Camel读取配置文件
- SpringMVC + Apache POI 实现WEB中Excel下载功能
- SpringMVC + Apache POI 实现WEB中Excel下载功能