gpt4 book ai didi

Node.js/Connect 使用现有的 Connect.SID

转载 作者:搜寻专家 更新时间:2023-10-31 23:33:15 26 4
gpt4 key购买 nike

我有鸡和蛋的问题。

我正在使用 Node.js HTTPServer 将 Web 请求路由到不同的 Node.js 工作人员,具体取决于他们在请求 header 中发送的 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。 worker #6 看到新的 SID 并且......

Connect Session 中间件太……简单了……

app.use(express.cookieParser());
app.use(express.session({ secret: "niceTry", cookie: { /* ... */ } }));

有没有办法将逻辑注入(inject)到新 session ID 的分配中,以便在已经存在未注册但有效的 Connect.SID 时跳过它?

最佳答案

您是否考虑过将分布式 session 管理(即 Redis)与 Node/Express 结合使用?这应该可以防止有效的 session 固定问题。

关于Node.js/Connect 使用现有的 Connect.SID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20186750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com