今天把服务器上的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 /; 问题解决!
网友评论