如何在多个服务器中检索NodeJS中的SessionID?

我是NodeJS的新手。 我正在开发一个REST API并使用快速会话来处理会话。 所以,要获得我正在使用的会话ID

var sessionID = req.sessionID

此会话ID是从服务器端生成的。 所以,当我扩展到两个或更多的服务器,这是一个问题。 例如,如果一台服务器closures并且请求被redirect到另一台服务器(假设我有一个负载平衡器),则会生成一个新的会话ID。 那么,有没有办法从客户端检索会话ID?

Solutions Collecting From Web of "如何在多个服务器中检索NodeJS中的SessionID?"

好问题! 会话pipe理对于启动和运行来说可能是一个挑战 – 特别是在节点上运行任何types的复杂会话pipe理时,都需要大量不同的包,每个包都有自己的一组文档。 下面是一个如何使用MongoDB设置会话pipe理的例子:

 'use strict'; var express = require('express'), session = require('express-session'), cookieParser = require('cookie-parser'), mongoStore = require('connect-mongo')(session), mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/someDB'); var app = express(); var secret = 'shhh'; app.use(session({ resave: true, saveUninitialized: true, secret: secret, store: new mongoStore({ mongooseConnection: mongoose.connection, collection: 'sessions' // default }) })); // ROUTES, ETC. var port = 3000; app.listen(port, function() { console.log('listening on port ' + port + '.') }); 

通过此configuration,您可以访问req.sessionID但是现在,如果用户的会话cookie尚未过期,则应该保留在应用服务器上。

我希望这个作品!