【问题标题】:Forcing node to not create a session in connect-mongo/connect-mongostore强制节点不在 connect-mongo/connect-mongostore 中创建会话
【发布时间】:2014-02-24 13:42:42
【问题描述】:

我们在 Amazon 上运行,使用带有 express 的 node 和 connect-mongostore 来管理会话。负载均衡器每 15 秒向服务器发送一次测试,以确保应用程序处于活动状态。我们编写了一个 API 调用来检查它,它测试 node 和 mongo 是否都在工作。但是,这会为每次调用创建一个会话,因为它不是 Web 浏览器,因此会构建一个新的会话记录。我们的会话数据库中有 80,000 条记录,每四个星期到期一次。想知道是否有任何方法可以防止这种情况发生,而无需破解 express 或 connect-mongostore。

【问题讨论】:

    标签: node.js mongodb express


    【解决方案1】:

    有时您可以使用connect.session.ignore.push('/individual/path') 忽略 connect 会话管理中的特定路由,但这已被删除。

    为什么不在app.use(express.session(...)); 之前为负载均衡器放置一条公共路由app.getapp.use('/lbChck', function(req,res){ res.send(200);})

    【讨论】:

    • 一旦您使用单个路由,app.router 将被插入到中间件链中,从而有效地阻止 express.session 也被所有其他路由调用。如果您使用app.use 而不是app.get,它会起作用。
    • 谢谢,我会试试的。这很有道理。
    • 只是想再次回复,刚刚实现了这个,它很有效。我们可能只是包装得太紧了,但每次都对数据库的打击是完全不必要的。
    猜你喜欢
    • 2014-05-03
    • 2018-03-30
    • 1970-01-01
    • 2016-10-08
    • 1970-01-01
    • 2017-10-11
    • 2012-08-18
    • 2013-06-19
    • 1970-01-01
    相关资源
    最近更新 更多