nginx 反向代理 node 项目,session 丢失

我在部署 nuxt 项目时,尝试使用 nginx 作为反向代理,但是在处理 session 时,出现了 session 丢失的情况。我的 nginx 配置如下

server{
        listen  80;    # 指定端口
        server_name 111.229.111.xxx; 
        location / {
                proxy_pass   http://111.229.111.xxx:8000/;
        }
           
}

配置完成后再浏览器中输入 111.229.111.xxx,页面正常显示,但是进入到登陆页面登陆成功后,session 并没有写入成功。同时我在浏览器中输入 111.229.111.xxx:8000 进行页面访问,然后同样进行登陆操作,这时 session 写入成功。我在网上搜寻了一些资料,大部分都说在端口改变路径不变时 session 并不会丢失。但是我这里却出现了丢失的情况,很困惑,不理解,求指点,谢谢

阅读 3.7k
3 个回答
  1. nginx换个监听端口试试
  2. 加个proxy_set_header
location / {
    proxy_set_header Host $host:$server_port;
    proxy_pass   http://111.229.111.xxx:8000/;
}

session写入的是哪个域,丢失的又是哪个域,用浏览器开发工具可以看,你说没有写入成功应该不是一个域

使用 ip 访问,和使用 ip:端口 访问,都可以检查到 cookie,但是如果是域名访问就不能。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题