nginx 配置代理session失效带来的坑

2018-06-21  本文已影响0人  凤阳阿文

今天把服务器上的Tomcat整合了一下,配置了二级域名转发到tomcat的8888端口。

最先出现的问题是,用户登录时的验证码,生成的验证码放在session中,等到登录验证时,session中获取不到验证码。

 经调试发现是request请求变成了多个,并且session也不一致,感觉就像是另一个浏览器在访问,得出结论:肯定是session丢失了!

server {

        listen      80;

        server_name  tanslation.dimuvip.com;

       #charset koi8-r;

        #access_log  logs/host.access.log  main;

      location / { 

        proxy_pass http://localhost:8888/snaker/;

        proxy_redirect off;

        proxy_set_header Host $host; 

        proxy_set_header X-Real-IP $remote_addr; 

        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

    }

      access_log logs/xxx.cn_access.log; 

    }

摸索一晚上解决方案:

server {

        listen      80;

        server_name  tanslation.dimuvip.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

      location / { 

        proxy_pass http://localhost:8888/snaker/; 

        proxy_cookie_path /snaker/ /;

        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;

    }

      access_log logs/xxx.cn_access.log; 

    }

但是问题依旧:

最后发现是 proxy_cookie_path /snaker/ /;配置出问题了。

改为 proxy_cookie_path /snaker  /; 问题解决!

上一篇 下一篇

猜你喜欢

热点阅读