niginx 在做反向代理的时候,如果代理的目录地址和用户访问的目录地址不在同一个层级下的时候,即
server { listen 80; server_name www.bzf.com; location / { proxy_pass http://127.0.0.1:8090/sso; } }
如上所示,若用户访问 www.bzf.com,则会被nginx代理到本地8090端口下的sso项目下,
tomcat是通过cookie中的JsessionId来判断是否是一个新用户的,使用上述代理方式时,tomcat会将JsessionId写入www.bzf.com域名下的/sso路径下面。
用户下次再访问 www.bzf.com 的时候,发送给服务器的请求拿不到 /sso 路径下的 JsessionId,因此tomcat 会一直认为是一个新用户,这从/sso 路径下的 JSessionId会一直变化也可以看到。
上述分析表明,我们要让用户拿到它上次写入的JsessionId才可以,因为用户访问的域名是 www.dzf.com,这我们不能改变,因此应改变保存JSessionId的cookie的路径,将该路径变为 “/” 即可,这可通过nginx 的 proxy_cookie_path 来设置,将 tomcat 写入的 /sso 路径下的cookie 变为"/" 路径下,添加两行代码如下:
server { listen 80; server_name www.bzf.com; location / { proxy_pass http://127.0.0.1:8090/sso; proxy_cookie_path /sso/ /; proxy_cookie_path /sso /; } }
相关推荐
自己做的一个nginx+tomcat+redis完成session共享小例子,包括所需jar,适合初学者,希望大家一起学习交流
包含的jar包如下: commons-pool2-2.0.jar jedis-2.5.2.jar tomcat-juli-adapters.jar tomcat-juli.jar tomcat-redis-session-manager1.2.jar
Nginx+tomcat+redis软负载均衡需要的一整套资源,还包括了JDK,依赖包等文件
Nginx+Tomcat+Memcached共享session集群配置
redis缓存服务器Nginx+Tomcat+redis+MySQL实现session会话共享
Nginx+Tomcat7+Memcached集群Session共享 完整例子 主要是利用memcached-session-manager(下面简称msm)开源tomcat插件改变tomcat原始的session存储机制,将session的存储放到分布式缓存memcache中,从而实现对...
基于tomcat7版本的memcached会话保持,内置tomcat需要的jar包。
Nginx+tomcat 实现负载均衡session共享demo,和http://blog.csdn.net/u014513883/article/details/48550709 类似
Nginx+Tomcat+Memcached实现tomcat集群和session共享 nginx配置
Nginx+tomcat配置集群负载均衡实现动静分离实例
详细说明了windows服务器nginx+tomcat+mysql部署及配置(配置阿里云后台安全组,配置域名)很适合新手学习 附件中包含: 1.操作说明文档 2.操作录屏 3.安装所用到的软件安装包 1)Windows Server 2019 数据中心版 ...
Nginx + Tomcat +session共享.docx
Nginx+Tomcat+Memcached集群Session共享实例,Nginx 1.81 + tomcat1 + tomcat2 + Memcached 完整可运行 访问根目录下 test.jsp 可看效果
包含了http的集群环境,https的集群环境,同时考虑到集群环境的session问题,使用了tomcat+memcached实现tomcat集群环境共享。整个环境解压既可以使用,证书如果需要修改,直接将证书放在nginx的config目录,然后...
nginx+tomcat7负载均衡+redis缓存session
Windows+Nginx+Tomcat做负载均衡同时实现session共享Demo
Windows7 + Nginx + Memcached + Tomcat 集群 session 共享
本资源是用于解决nginx+tomcat+redis__session__问题的资源包,涵盖具体教程
keepalived+nginx+tomcat+redis+mysql所需的jdk包,之前csdn不让上传超过200m得只能分开上传。
Nginx+KeepAlived+Tomcat负载架构 这个可以实现tomcat集群,并且可以使服务器主备机进行切换。如果其中一台机器当机,会自动切换到另一台机器。客服端感受不到服务器当掉。非常实用。