我在 Express.js 中有一个应用程序,我在端口 5000 上运行。我已经研究了一段时间,一切都很好。不过最近出了点问题,可能与升级到 Mountain Lion 有关。我不知道。
为了简化应用程序,我现在只设置了一个示例 GET 路由:
app.get('/', function(req, res){
console.log('made it here');
res.end('Hey there');
});
出于某种原因,当我尝试通过网络浏览器(chrome、safari)进行连接时,它不会多次连接。但是,如果我通过 telnet 直接连接到端口并发出 GET / ,我会得到我期望的响应(因为我假设没有会话在播放)。
此外,如果我更改我的会话密码,我可以通过浏览器再次连接到它,然后后续刷新永远不会命中路由(该路由永远不会记录 200),直到我再次更改密码。
这是我设置会话的方式:
app.use(express.cookieParser());
var mongoCon = require('connect-mongodb');
var session = express.session({
store: new mongoCon({
db: mongoose.connection.db
, maxAge: 300000
}), secret: 'donut'
});
app.use(session);
编辑:如果我使用 MemoryStore 而不是 Mongo 作为我的会话存储,它工作正常。
同样,这已经好几个星期了。我最近更新到山狮。我还重新安装了 npms,但验证我正在运行与以前相同版本的 connect-mongodb、mongoose、express 等。我在 Ubuntu 机器上运行了相同的代码库,看起来还不错。所以可能是Mac问题。
我意识到这是一个没有大量细节的疯狂问题,但我在这里有点不知所措。关于寻找什么的任何想法?