【求高手】关于通过cookie实现session共享的超时有关问题

【求高手】关于通过cookie实现session共享的超时问题
我现在这边有个web项目,要做集群。
集群的话肯定要实现分布式session,
因为是内部网,cookie安全性比起它的方便性来说,还是OK的
但是如果通过cookie共享session就有个问题了
如果客户登陆了server A,然后在A上有个session,然后在客户机上存放cookie
过了一段时间,在A上的session超时了,我在登陆的是A,
因为想共享的原因,A发现没有以前的session,但是在cookie中找到了,于是把cookie的信息复制了一份
这样子的话,等会session超时就给废了,明明是session超时了,因为cookie中还有,所以相对于有不超时了
这是一个很严重的问题!
这样子的话,cookie要和session超时同步了,好像不好办

求高手,
是不是我对cookie实现方法理解有问题,还是cookie就是有这样的问题
------解决思路----------------------
首先,不用那么复杂。

集群的话,前面会有负载均衡设备。负载均衡的设备一般都会有session的概念。

你要做的,就是把负载均衡设备的session的超时和你web服务器的超时配置的完全一样,就不会有问题。

引用:
我现在这边有个web项目,要做集群。
集群的话肯定要实现分布式session,
因为是内部网,cookie安全性比起它的方便性来说,还是OK的
但是如果通过cookie共享session就有个问题了
如果客户登陆了server A,然后在A上有个session,然后在客户机上存放cookie
过了一段时间,在A上的session超时了,我在登陆的是A,
因为想共享的原因,A发现没有以前的session,但是在cookie中找到了,于是把cookie的信息复制了一份
这样子的话,等会session超时就给废了,明明是session超时了,因为cookie中还有,所以相对于有不超时了
这是一个很严重的问题!
这样子的话,cookie要和session超时同步了,好像不好办

求高手,
是不是我对cookie实现方法理解有问题,还是cookie就是有这样的问题

------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

nginx 

http://nginx.org/cn/docs/http/ngx_http_upstream_module.html

语法: ip_hash;
默认值:  —
上下文: upstream
指定服务器组的负载均衡方法,请求基于客户端的IP地址在服务器间进行分发。 IPv4地址的前三个字节或者IPv6的整个地址,会被用来作为一个散列key。 这种方法可以确保从同一个客户端过来的请求,会被传给同一台服务器。除了当服务器被认为不可用的时候,这些客户端的请求会被传给其他服务器,而且很有可能也是同一台服务器。

从1.3.2和1.2.2版本开始支持IPv6地址。
如果其中一个服务器想暂时移除,应该加上down参数。这样可以保留当前客户端IP地址散列分布。


那不叫处理session,那叫粘性会话。难道一个负载均衡服务器还要把7层http包解开找到cookie在决定路由到什么地方去》?


不同的设备厂商就是不同的叫法。

你用管了apache,把这叫粘性会话

你去用用f5/radware之类的硬件试试?

F5里面,最简单的,根本不用看cookie,直接用源地址来分就可以了。

nginx也是一样。


我只想驳斥你之前说负载均衡处理session的说法。
session是七层应用层web容器里的说法,和负载均衡没什么关系。