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;

}

第二种方法从网上搜索文档很多。

相关推荐