nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决

Nginx反向代理tomcat,很是方便,但是也有些细节的问题需要注意;今天遇到了这样一个问题,tomcat中路径“host/web1”,nginx中直接“host/”代理,这时候session就无法正常进行了。


1

2

3

4

5

6

7

8

9

location / {

            proxy_pass   http://192.168.1.12:11080/v1/;

   

    

            proxy_set_header   Host    $host;

            proxy_set_header   Remote_Addr    $remote_addr;

            proxy_set_header   X-Real-IP    $remote_addr;

            proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

而后检查是由于cookies path问题导致,阅读官方资料中显示proxy_cookie_path,遂调整


1

2

3

4

5

6

7

8

9

location / {

            proxy_pass   http://192.168.1.12:11080/v1/;

            proxy_cookie_path /v1/ /;

   

            proxy_set_header   Host    $host;

            proxy_set_header   Remote_Addr    $remote_addr;

            proxy_set_header   X-Real-IP    $remote_addr;

            proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;

        }

测试一切正常。

一开始以为是程序的问题,但是在本机测试都是OK,本机与线上的环境只差一个代理。

花了3-4小时,就一段proxy_cookie_path /v1/ /;配置就搞定/晕

时间: 2024-10-20 01:05:49

nginx反向代理(proxy_pass)tomcat的过程中,session失效的问题解决的相关文章

第三方支付过程中session失效问题

第三方支付过程中session失效问题 时间 2015-05-13 12:36:23  IT社区推荐资讯 原文  http://itindex.net/detail/53436-session-问题 主题 Java 问题产行于公司p2c交易平台的一个用户充值模块. 平台简介:该平台通过第三方支付(以下使用“支付宝”代替)完成与各大银行的交易(充值.投资.转帐.提现等操作),并将数据保存在我司的服务器数据库中,服务器使用tomcat,数据库Mysql 平台充值流程:用户登陆系统----点击充值--

nginx反向代理及tomcat负载均衡

 tomcat服务器及负载均衡 1:tomcat主要用于web网页应用,它的静态处理能力低于nginx服务器, 但是可以当做容器主要用于JAVA程序编写的页面.jsp.用于测试. 2:可以实现负载均衡,反向代理,tomcat和其他的服务相比较,性价比高 另外tomcat是有apache基金会维护和支持 3:根据案例搭建tomcat服务器,以及实现负载均衡   一..实施准备 1.启动后关闭iptables防火墙 #service iptables stop 2.安装jdk.配置java环境 (1

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

Centos6.5系统下nginx反向代理实现tomcat负载均衡

查看当前系统的内核和系统参数以及版本. [[email protected] ~]# uname -a Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# cat /etc/issue CentOS release 6.5 (Final) Kernel \r on an \m 2.安装nginx. 1)

windows系统下配置Nginx反向代理多tomcat共享session

nginx.tomcat下载安装本篇不提了,直接说步骤: 1 配置nginx配置文件: nginx下conf文件夹中的nginx.conf 添加下面代码, upstream web_apps{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:8989 weight=1; } server { listen 80; server_name localhost 127.0.0.1; proxy_set_header Host $host; proxy

腾讯云Centos下Nginx反向代理Apache+Tomcat

1. 安装Apahce, PHP, MySQL以及php连接mysql库的组件#yum -y install httpd php mysql mysql-server php-mysql     //这里"-y"参数表示静默安装,不会出现提示及交互 2. 安装apache扩展#yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql 3. 安装php的常用扩展#yum -y install php-gd php-xml ph

Nginx反向代理之HTTP 请求头中的 X-Forwarded-For

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;加上上一句后,X-Forwarded-For中存放的将是:IP0, IP1, IP2 若不加,则 X-Forwarded-For中存放的是remore_address,即最近的一个代理ip(若没有代理,则是用户的真实的IP)重要的是proxy_set_header X-Forwarded-For,而非后面的$proxy_add_x_forwarded_for(可以写成其他任意名

Nginx反向代理时tomcat日志获取真实IP

对于nginx+tomcat这种架构,如果后端tomcat配置保持默认,那么tomcat的访问日志里,记录的就是前端nginx的IP地址,而不是真实的访问IP.因此,需要对nginx.tomcat做如下配置: 1.nginx配置增加如下 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

nginx反向代理tomcat集群达到负载均衡,同时使用proxy_cache做web缓存

Nginx最早是作为一款优秀的反向代理软件,以高并发下的卓越性能被越来越多的用户所用户,国内最早研究nginx的是张宴,该大牛的博客地址:http://zyan.cc/ .但是随着需求的发展,nginx的功能已经不再单单是反向代理,现在已经更倾向作为web容器. Nginx从0.7.48版本开始,支持了类似Squid的缓存功能.Nginx的Web缓存服务主要由proxy_cache相关指令集和fastcgi_cache相关指令集构成,前者用于反向代理时,对后端内容源服务器进行缓存,后者主要用于对