【发布时间】:2013-11-25 07:19:56
【问题描述】:
我有鸡和蛋的问题。
我正在使用 Node.js HTTPServer 将 Web 请求路由到不同的 Node.js 工作者,具体取决于它们在请求标头中发送的 Connect.SID cookie。
我的每个 Node.js 工作人员都使用 Connect / Express 并在请求首次连接时分配 Connect.SID cookie。
问题
显然,如果请求的 Connect.SID 没有向 Node 的 该实例 注册,则 Connect 会分配一个 新 ID。
所以,我有了一个新的 Connect.SID。我的 HTTP 代理记录 ID 12345 并将其路由到 worker #5。 Worker #5 将新 ID 56344 发送回浏览器。下一个浏览器请求 - HTTP 代理看到一个全新的 ID - 56344 - 记录它并发送给 Worker #6。工人 #6 看到新的 SID 并且......
Connect Session 中间件太……简单……
app.use(express.cookieParser());
app.use(express.session({ secret: "niceTry", cookie: { /* ... */ } }));
有没有办法将逻辑注入到新会话 ID 的分配中,以便在已有未注册但有效的 Connect.SID 时跳过它?
【问题讨论】:
标签: node.js cookies http-proxy connect.js