nginx反向代理tomcat后,登录提示验证码错误,直接通过ip访问tomcat服务就可以

现象:

nginx反向代理tomcat后,通过域名访问,登录时提示验证码错误,直接通过ip访问tomcat服务就可以

原因:

对于一个请求,首先是通过了原始路径xxx.com,然后经过代理路径http://127.0.0.1:8080/xxx/,这个时候由于原始路径和代理路径发生了变化,从而导致session 丢失,Tomcat服务器获取到的session无效。

解决办法:

nginx配置如下:

 server {
    listen       80;    
    server_name  xxx.com;
    location / {
        proxy_pass http://127.0.0.1:8080/xxx/;
        proxy_cookie_path  /xxx /;
    }
}

然后重新reload一下nginx,如此一来,就解决了nginx反向代理导致session丢失的问题。

原文地址:https://www.cnblogs.com/John-2011/p/15303607.html