expressJS 在每次页面加载时创建新会话

expressJS creates new session every page load

运行 在本地一切都很好但是当我使用 vagrant 将我的应用程序部署到虚拟框或亚马逊并将其放在 nginx 后面时,重定向和页面加载刷新 req.session.

这是 nginx 配置:https://github.com/newslynx/automation/blob/master/provisioning/templates/app-nginx.conf.j2

以及我如何在 Express 应用程序中设置我的会话存储:https://github.com/newslynx/newslynx-app/blob/master/lib/app.js

我在会话中设置 apikey 和 org id,当用户被重定向到 '/' 时,它们会被清除 https://github.com/newslynx/newslynx-app/blob/master/lib/routes/organizations.js#L55-L65

我试过 saveUninitializedresavetruefalse 的组合。我已经切换到内存中以及 Redis 支持的会话存储,没有任何变化。我被难住了。

此问题是由于应用程序是在 https 上下文中加载的,因此没有通过 http 设置 cookie。这个答案有更多细节:Session variables not being set in expressjs