You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NGINX反向代理下Web应用登出未发送Cookie问题

解决NGINX auth_request代理下登出Cookie未清除的问题

问题根源

你的配置中,add_header Set-Cookie $new_cookie;仅处理了SSO认证接口(/auth)返回的Cookie,但后端应用(http://127.0.0.1:8100)在登出时返回的Set-Cookie头未被NGINX转发给客户端。此外,若登出请求触发后SSO认证接口提前返回401,NGINX会直接跳转至登录页,导致后端应用的登出响应(含清除Cookie的头)无法到达客户端。

修复后的配置

server {
        location / {
                auth_request /auth; 
                # 保留从SSO认证接口获取的Cookie,非空时才添加
                auth_request_set $auth_cookie $sent_http_set_cookie;
                add_header Set-Cookie $auth_cookie always;

                # 显式转发后端应用的Set-Cookie头
                proxy_pass_header Set-Cookie;
                # 传递客户端Cookie给后端,确保登出逻辑能识别会话
                proxy_set_header Cookie $http_cookie;

                proxy_pass http://127.0.0.1:8100;
        }

        location /auth {
                internal;
                proxy_pass https://sso.sol/api/auth/check;
                proxy_pass_request_body off;
                proxy_set_header Content-Length "";
                proxy_set_header X-Original-URI $request_uri;
        }

        error_page 401 = @error401;

        location @error401 {
                # 修复URL拼写错误(原配置少了一个斜杠)
                return 302 https://sso.sol/auth/sign-in/?redirectURL=https://$host$request_uri;
        }
}

关键修改说明

  1. 优化Cookie传递逻辑:将变量重命名为$auth_cookie,给add_header加上always参数,确保在非2xx响应(如认证失败的401)中也能传递SSO返回的Cookie,且变量为空时不会添加无效头。
  2. 强制转发后端Cookie:添加proxy_pass_header Set-Cookie;,明确要求NGINX转发后端应用返回的清除Cookie指令(默认虽会转发,但显式声明可避免其他配置干扰)。
  3. 传递客户端会话:添加proxy_set_header Cookie $http_cookie;,确保后端应用能获取到客户端的会话Cookie,正确执行登出清除逻辑。
  4. 修复重定向URL错误:修正原配置中https:/sso.sol的拼写问题,改为https://sso.sol,避免重定向失败。

验证步骤

  • 检查后端应用登出接口的响应,确认包含next-auth.session-token=; Max-Age=0; Path=/; HttpOnly; SameSite=Lax的Set-Cookie头。
  • 测试登出操作时,通过浏览器开发者工具查看网络请求,确认NGINX转发的响应中包含该清除Cookie的头。

内容的提问来源于stack exchange,提问作者Lee Kai Xuan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 14:20:22