部署在linux 下的JAVA 项目,Session 失效,急

kakaximu 发布于 2014/11/23 16:58
阅读 1K+
收藏 1

用来登陆做验证码验证的session 存进去了,但是取出来的是NULL

存进去和取出来的KEY 一致

部署在WINDOWS下没问题。

是LINUX的原因?

以下是问题补充:

@kakaximu:阿里云的服务器 (2014/11/23 17:14)
@kakaximu:没做集群,就一个TOMCAT,我已经找到原因了,反向代理问题。 其中“/” 和 "/test" 都是映射到 "/test" 二级目录。 #location /MiaoYu/ { # proxy_pass http://127.0.0.1:9000/test/; # proxy_redirect off; # proxy_set_header Host $http_host; # proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_set_header Cookie $http_cookie; # proxy_cookie_path /test /; # chunked_transfer_encoding off; #} #location / { # proxy_pass http://127.0.0.1:9000/test/; # proxy_redirect http://127.0.0.1:9000/; #} 这个不会配置啊。:( (2014/11/24 10:07)
加载中
0
Neoman
Neoman
检查一下sessionid是否一致
k
kakaximu
看了,不一致,linux不熟啊,每次都产生一个新ID
0
南湖船老大
南湖船老大
你不会是用了nginx+tomcat这样的架构吧
zplswf
zplswf
回复 @kakaximu : 说不定跨域了
k
kakaximu
是这个
0
小雨0oo
小雨0oo

搜upstream,proxy_pass

0
南湖船老大
南湖船老大
如果是一台nginx加多台tomcat,那 一定会找不到session的。需要特殊的配置
0
巴林的狗尾草
巴林的狗尾草

引用来自“南湖船老大”的评论

如果是一台nginx加多台tomcat,那 一定会找不到session的。需要特殊的配置
正解,你是配置的loadblancer么?nginx貌似不会同步session,你得自己配置tomcat为一个集群,apache好像默认会给tomcat处理session,但是策略好像是让拥有相同session的请求始终命中同一台tomcat,不知道nginx有没有这个配置(配置sessionid的策略)。实际上还是自己配置tomcat集群吧。
0
k
kakaximu
没做集群,就一个TOMCAT,我已经找到原因了,反向代理问题。 其中“/” 和 "/test" 都是映射到 "/test" 二级目录。 
#location /test/ { 
#	proxy_pass http://127.0.0.1:9000/test/; 
#       proxy_redirect off; 
#	proxy_set_header Host $http_host; 
#	proxy_set_header X-Real-IP $remote_addr; 
#	proxy_set_header X-Forwarded-For 
#       $proxy_add_x_forwarded_for; 
#       proxy_set_header Cookie $http_cookie; 
#	proxy_cookie_path /test /; 
#	chunked_transfer_encoding off; 
#} 
#location / { 
#	proxy_pass http://127.0.0.1:9000/test/; 
#	proxy_redirect http://127.0.0.1:9000/; 
#} 
这个不会配置啊。:(



返回顶部
顶部