-
nginx使用proxy_pass反向代理时,session丢失5
配置nginx里url rewrite的时候,为了使浏览器地址栏的URL保持不变,使用proxy_pass反向代理,但是每次都会生成新的jsessionid,具体配置如下:server { listen 80; server_name www.domain.com; location =/ { rewrite ^/(.*) http://www.domain.com/zk/user/index.action break; # proxy_pass http://www.domain.com; # 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; # chunked_transfer_encoding off; } location / { proxy_pass http://www.domain.com:8080; 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; chunked_transfer_encoding off; } }
问题补充:比如www.domain.com/xxx,实际后台处理的链接是www.domain.com/zk/user.action?domain=xxx,我不希望用户看到通过nginx重写后的链接,所以用到了proxy_pass,但是这时候session会丢失,大概就是这个情况2013年12月18日 21:07
4个答案 按时间排序 按投票排序
-
主要还是cookie路径的转换问题,请看:http://user.qzone.qq.com/737816745/blog/1422497717
2015年1月29日 10:17
-
proxy_set_header Cookie $http_cookie;
location / { proxy_pass http://www.domain.com:8080; 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; chunked_transfer_encoding off; }
2013年12月20日 10:20
-
tomcat认为你是一个新用户时会生成新session,
tomcat是通过cookie里的jsessionid来判断你是不是新用户的,jsessionid是用来取session的,一一对应的
cookie里有jsessionid,并且和服务器的保存的一样,说明不是新用户,用原来的session就可以
我猜 你urlwrite是不是吧cookie丢了?所以每次都生成新的session2013年12月19日 10:21
相关推荐
两边通过同一个nginx进行反向代理,nginx配置大致如下, location /health/ { proxy_pass http://192.168.40.159:8081/health/; #无问题的配置 } location /health-dev/ { proxy_pass ...
Nginx是一个高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力以及丰富的模块扩展性而闻名。然而,Nginx本身并不内置支持url_hash功能,这是一个用于负载均衡的策略,通过将特定URL的哈希值与后端服务器...
在IT行业中,HTTPS通信是确保网站数据安全传输的重要手段,而Nginx作为一款高性能的HTTP和反向代理服务器,常被用来实现这种安全通信。本文将深入探讨如何通过Nginx配置HTTPS服务器,实现443端口的反向代理,以及与...
在使用Nginx作为反向代理服务器时,有时会遇到session丢失的问题,这通常是由于代理和后端服务器之间交互配置不当引起的。下面是处理和解决Nginx session丢失问题的一些知识点和方法: 1. 了解Session机制:在Web...
Nginx是一款高性能、轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,广泛应用于互联网行业,以其高效稳定、低内存占用和强大的反向代理能力著称。在本文中,我们将深入探讨Nginx的反向代理...
这通常涉及编辑nginx.conf配置文件,设置 upstream 模块来定义后端服务器组,以及使用 proxy_pass 指令将请求转发到这些服务器。 2. **安装和配置Tomcat**:在多台服务器上安装Tomcat,确保应用部署一致,禁用每个...
Nginx通过`proxy_pass`指令可以将session信息转发给后端服务器,但默认情况下,session信息会存储在本地,这意味着如果用户在集群中的不同服务器之间切换,session可能会丢失。为了解决这个问题,我们可以使用...
首先,Nginx是一个高性能的反向代理服务器,通常用作负载均衡器,将用户请求分发到后端多个应用服务器,如Tomcat。Tomcat是基于Java的Web应用服务器,负责处理HTTP请求和执行Java Servlets。 **Nginx的负载均衡配置...
在Linux环境下,构建一个高效的Web服务架构通常会结合多种技术,例如使用Nginx作为反向代理和负载均衡器,Tomcat作为Java应用服务器,以及Redis作为分布式缓存来实现Session共享。本教程将详细讲解如何在Linux上的...
总结,通过Nginx的反向代理和负载均衡功能,以及Memcached作为session共享的中间层,可以构建一个高效且可靠的Tomcat集群环境。这种方式不仅能提升服务的可用性和响应速度,还能确保用户在集群内的无缝切换,保持...
Nginx是一款高性能的HTTP和反向代理服务器,广泛应用于网站服务器的部署中。Nginx的timeout超时配置是它的一个重要特性,它决定了在一定时间内没有活动或完成操作时,连接或请求将被关闭。这对于优化服务器性能、...
这里我们关注的是如何在Windows环境下,利用Nginx作为反向代理服务器,与Tomcat应用服务器集群配合,实现负载均衡,并且确保Session数据在多个Tomcat实例之间共享。这个场景对于大型网站或高并发的应用尤其实用,...
在现代互联网架构中,Nginx 和 Tomcat 经常被一起使用,Nginx 作为前端反向代理服务器负责负载均衡,而 Tomcat 则作为后端应用服务器处理 Java 应用程序。在这样的配置中,确保用户会话(Session)在多个 Tomcat ...
在构建高可用的Web服务时,Nginx作为反向代理服务器和负载均衡器,常常与Tomcat这样的Java应用服务器配合使用。然而,当多个Tomcat实例构成集群时,会面临一个问题:用户session的共享。Session是Web应用程序用来...
Nginx是一款流行的开源Web服务器软件,常用于服务器端的反向代理、负载均衡、媒体流等功能。本文档将详细介绍如何使用Nginx配置http转https,以及https访问http静态资源。 一、Nginx配置http转https 在上面的配置...
使用`proxy_pass`指令将请求转发到正确的Tomcat服务器,并配置`proxy_set_header`以传递session ID。 4. **测试和优化**:部署应用程序并进行测试,确保在不同服务器之间切换时session能正确共享。同时,可能需要...
本文将详细讲解如何使用Nginx-1.6.2作为反向代理和负载均衡器,结合Memcached-1.2.6实现Session共享,并在Tomcat7应用服务器集群中部署此架构。 首先,Nginx是一款轻量级的Web服务器/反向代理服务器,以其高效、...