0

我在 Appfog 上运行多个 node.js 实例。因为我使用engine.io,所以我需要粘性会话。当我创建多个实例时,engine.io(使用 http 长轮询)无法正常工作 - 此外,passport.js 身份验证也失败了。我假设这是由于会话亲和力不当造成的。我将会话 cookie 密钥设置为: jsessionid 基于此处的 cloudfoundry 文章:http: //blog.cloudfoundry.com/2013/01/24/scaling-real-time-apps-on-cloud-foundry-using-node -js-和-redis。从服务器日志中,jsessionid cookie 在 engine.io 轮询/写入请求期间正确显示在服务器端。AppFog 负载均衡器是否使用基于在请求中找到的“jsessionid”cookie 的会话亲和性?

附加说明:如果我清除客户端 cookie 并访问该站点,则 passport 和 engine.io 似乎都在工作,直到我重新启动实例。

4

1 回答 1

0

我想我已经使用以下信息解决了这个问题:http: //blog.cloudfoundry.com/2013/01/。基本上 jsessionid 在服务器重新启动后对会话亲缘关系无效,我们必须刷新会话。

于 2013-06-23T21:41:03.603 回答