Nginx session丢失问题处理解决方法
程序员文章站
2022-03-07 23:23:31
在用nginx的反向代理tomcat的路径中,可能会出现session丢失问题。每发送一次请求 jessionid 都会发生改变,说明上一次形成的session丢失,从而创建新的session。第一种...
在用nginx的反向代理tomcat的路径中,可能会出现session丢失问题。每发送一次请求 jessionid 都会发生改变,说明上一次形成的session丢失,从而创建新的session。
第一种情况:
server{ listen 80; server_name www.jiahemdata.com www.jiahemdata.cn; charset utf-8; location /{ proxy_redirect off; proxy_pass http://127.0.0.1:8093; proxy_set_header host $host; proxy_set_header referer $http_referer; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } access_log logs/tomcat_access.log; }
由于当前对的nginx只是监听一个端口,不设定路径,所有一般不会出现session丢失的问题。
第二种情况:
server{ listen 80; server_name www.jiahemdata.com www.jiahemdata.cn; root /opt/tomcat-jhyx/webapps/jhyx/; charset utf-8; location /{ proxy_pass http://127.0.0.1:8093/jhyx/; proxy_set_header host $host; proxy_set_header referer $http_referer; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } access_log logs/tomcat_access.log; }
这种情况,指定了tomcat的文件夹,不仅仅是一个端口监听,会导致每次请求都会发生变化,导致session丢失。
第三种情况:
server{ listen 80; server_name www.jiahemdata.com www.jiahemdata.cn; root /opt/tomcat-jhyx/webapps/jhyx/; charset utf-8; location /{ proxy_redirect off; proxy_pass http://127.0.0.1:8093/jhyx/; proxy_cookie_path /jhyx/ /; //设置cookie路径,从而不导致每次发生请求发生变化。 proxy_cookie_path /jhyx /; proxy_set_header host $host; proxy_set_header referer $http_referer; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } access_log logs/tomcat_access.log; }
这时候,发现你的问题依然没有解决,这时候你在想,我明明已经设置cookie路径了,怎么还不行呢,那是因为你请求的时候没有发送cookie。
第四种情况:
server{ listen 80; server_name www.jiahemdata.com www.jiahemdata.cn; root /opt/tomcat-jhyx/webapps/jhyx/; charset utf-8; location /{ proxy_redirect off; proxy_pass http://127.0.0.1:8093/jhyx/; proxy_cookie_path /jhyx/ /; proxy_cookie_path /jhyx /; proxy_set_header host $host; proxy_set_header referer $http_referer; proxy_set_header cookie $http_cookie; //请求发送时携带cookie信息 proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; } access_log logs/tomcat_access.log; }
希望你在茫茫网络,找到一个正确的解决方法。
到此这篇关于nginx session丢失问题处理解决方法的文章就介绍到这了,更多相关nginx session丢失内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: win10上安装nginx的方法步骤
下一篇: Nginx timeout超时配置详解
推荐阅读
-
mysql处理添加外键时提示error 150 问题的解决方法
-
mysql处理添加外键时提示error 150 问题的解决方法
-
解决uploadify使用时session发生丢失问题的方法
-
Android 异步获取网络图片并处理导致内存溢出问题解决方法
-
解决uploadify使用时session发生丢失问题的方法
-
php post大量数据时发现数据丢失问题解决方法
-
ThinkPHP框架实现session跨域问题的解决方法
-
Asp.net中处理一个站点不同Web应用共享Session的问题
-
Android 异步获取网络图片并处理导致内存溢出问题解决方法
-
IE下iframe跨域登录导致session丢失问题分析及解决方法