跨应用程序实例表达持久会话 cookie

express persist session cookie across app instances

我正在使用 express-session 中间件

const session = require('express-session');
app.use(session({
  secret: SECRET,
  resave: false,
  saveUninitialized: false
}));

通过req.session访问。

如果我的应用程序崩溃或停止,那么所有保存的 cookie 都会invalid/are 被服务器遗忘。

我怎样才能使之前有效的 cookie 即使在应用程序重新启动后仍然有效?

消失的不是cookie,而是cookie中的ID指向的服务器端session对象。请参阅express-session文档中的第二段:https://github.com/expressjs/session

Warning The default server-side session storage, MemoryStore, is purposely not designed for a production environment. It will leak memory under most conditions, does not scale past a single process, and is meant for debugging and developing.

按照 README 中的说明,从 compatible session stores list 中选择一个会话存储模块,并使用它来保存您的会话状态。