NutzCN Logo
问答 nginx反向代理后,经常在操作一会儿后就要求重新登录
发布于 2129天前 作者 koudepei 3997 次浏览 复制 上一个帖子 下一个帖子
标签:

使用nginx代理了几个系统,采用不同的二级域名,但是每次操作后总是出现提示操作失败,要求重新登录,不知道是不是跟用了websocket有关系,麻烦帮看看如下nginx配置是否有问题。
ngixn配置如下:
server {
listen 80;
server_name ins.test.com;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location /websocket {
        proxy_pass  http://ins;
        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;
        #支持websocket的ws协议,使nginx支持与后端的长连接,http1.1协议才支持,nginx默认是1.0
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location / {
        proxy_pass  http://ins;
        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;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}
6 回复

后端有多个实例?

同一个系统只有一个实例,nginx用了几个二级域名,分别代理了不同的系统

重新登录只能是session掉了或者分配到不同实例了

请问 有没有啥好的分析跟踪办法?谢谢! 感觉每次收到有websocket消息后,一会儿就失效了,是不是跟这反向代理有关,还是nginx中某个时间有影响?

websocket 要每30秒发一次心跳, 不然会断开的

跟踪到原因了,原来是websocket触发的接口方法中加入HttpServletRequest req参数就好了

添加回复
请先登陆
回到顶部