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

Express-Session在Heroku生产环境无痕模式下失效问题求助

Heroku生产环境下express-session无痕模式失效问题

我使用express-session处理用户会话,部署在Heroku生产环境后,无痕模式下该功能完全失效,但本地环境中常规模式和无痕模式均能正常运行。

本地环境运行正常的代码:

app.use(
  session({
    secret: process.env.SESSION_SECRET,
    resave: false,
    saveUninitialized: false,
    store: store,
    cookie: {
      maxAge: 1000 * 60 * 60 * 100,
    },
  })
);

部署到生产环境后,上述代码无法设置Cookie,于是改用以下代码——该代码能在常规模式下正常设置Cookie,但无痕模式依然失效:

app.use(
  session({
    store: store,
    secret: process.env.SESSION_SECRET,
    resave: false,
    saveUninitialized: true,
    proxy: true, 
    cookie: {
      secure: true,
      maxAge: 1000 * 60 * 60 * 48,
      sameSite: "none",
    }
  })
);

经过数小时排查,问题根源在于Heroku的跨域Cookie处理逻辑:前端部署在第三方域名(如netlify平台),向后端Heroku域名请求API时,Heroku发送的第三方Cookie会被无痕模式自动拦截。只有当用户在无痕模式下手动允许第三方Cookie,会话功能才能正常工作。

内容的提问来源于stack exchange,提问作者Prins Ocampo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 20:50:23