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

因域名不匹配导致Session Cookie无法设置,显式指定域名仍无效

无法设置Session Cookie:Domain属性不匹配问题

开发者工具中出现如下错误:

尝试通过Set-Cookie头设置Cookie被拦截,因其Domain属性与当前主机URL不匹配。

我搞不懂为什么客户端无法设置Session Cookie,排查后确定是域名问题——我的前端部署在Firebase、后端部署在Cloud Run,二者域名不同。但让我困惑的是,当前端运行在localhost时,即使后端仍为Cloud Run远程服务,却不会出现该问题。

以下是我的Session配置代码:

app.set('trust proxy', 1);
app.use(json());
app.use(
  session({
    name: '__session',
    store: new RedisStore({ client: redisClient }),
    secret: options.sessionSecret,
    resave: false,
    saveUninitialized: false,
    cookie: {
      secure: process.env.NODE_ENV === 'PROD' ? true : 'auto',
      httpOnly: true,
      maxAge: 1000 * 60 * 60 * 24 * 7,
      sameSite: process.env.NODE_ENV === 'PROD' ? 'none' : 'lax',
      domain: '<FRONTEND_URL>',
    },
  })
);

我认为domain属性配置有误,已尝试填写前端域名、后端域名及后端根域名run.app,但问题仍存在。我是否遗漏了什么,或是存在理解误区?

补充说明:
Cookie已配置Secure; SameSite=None。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:01:42