如何在运行多个实例时在AppFog中启用会话关联?

时间:2013-06-23 19:25:30

标签: node.js session appfog

我在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-and-redis。从服务器日志开始,在engine.io poll / write请求期间,jsessionid cookie在服务器端正确显示。 AppFog负载均衡器是否根据请求中的“jsessionid”cookie使用会话亲和性?

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

1 个答案:

答案 0 :(得分:0)

我想我已经使用http://blog.cloudfoundry.com/2013/01/中给出的信息解决了这个问题。基本上,jsessionid在服务器重启后对于会话亲和性变得无效,我们必须刷新会话。