nginx的会话保持
<转自http://linuxgp.blog.51cto.com/1708668/481584>
目前关于nginx做proxy的会话保持功能实现有2种方法:
一、ip_hash
可以实现回话保持,但是需要加max_fails=0;防止当机后服务不能跳转的问题。
upstreamcluster{
ip_hash;
serverxxx.xxx.xxx.xxx:80max_fails=0;
}经过实地测试,发现max_fails=0,不用添加。这个设置的意思是关闭了nginx的健康检查。在不关闭的情况下,也就是默认取1时,某节点宕机,服务自动跳转到其他节点,完全没有影响。
二、第三方模块 nginx_upstream_jvm_route
1.Forresin
upstreambackend{
server192.168.0.100srun_id=a;
server192.168.0.101srun_id=b;
server192.168.0.102srun_id=c;
server192.168.0.103srun_id=d;
jvm_route$cookie_JSESSIONID|sessionid;
}
2.Fortomcat
upstreambackend{
server192.168.0.100srun_id=a;
server192.168.0.101srun_id=b;
server192.168.0.102srun_id=c;
server192.168.0.103srun_id=d;
jvm_route$cookie_JSESSIONID|sessionidreverse;
}第二种方法从网上搜索文档很多。