Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 当网站从http迁移到https时,Express会话工作不正常?_Node.js_Session_Cookies_Https_Express Session - Fatal编程技术网

Node.js 当网站从http迁移到https时,Express会话工作不正常?

Node.js 当网站从http迁移到https时,Express会话工作不正常?,node.js,session,cookies,https,express-session,Node.js,Session,Cookies,Https,Express Session,在我们将我们的网站从http方案迁移到https(包括在CDN上启用https和在服务器上将http重定向到https)之后,我们发现我们的用户会话有时工作不正确,即用户A将被识别为用户B!Cookie的会话ID似乎解析不正确,可能不同的用户共享相同的Cookie或会话ID,但所有会话ID都是由uid safe唯一生成的 这个问题看起来很奇怪,我们真的不知道原因 我们使用nodejs、Express、Express会话和redis存储 express会话设置如下所示: app.use(sessi

在我们将我们的网站从http方案迁移到https(包括在CDN上启用https和在服务器上将http重定向到https)之后,我们发现我们的用户会话有时工作不正确,即用户A将被识别为用户B!Cookie的会话ID似乎解析不正确,可能不同的用户共享相同的Cookie或会话ID,但所有会话ID都是由uid safe唯一生成的

这个问题看起来很奇怪,我们真的不知道原因

我们使用nodejs、Express、Express会话和redis存储

express会话设置如下所示:

app.use(session({
  secret: 'xxxx',
  cookie: {
    maxAge: 3600*24*90*1000
  },
  store: new redisStore(),
  resave: false,
  rolling: true,
  saveUninitialized: false
}));

显示代码。例如,您的
快速会话
设置。@robertklep将添加
快速会话
设置。谢谢您的帮助。您是否在同一浏览器中测试这些不同的用户?另外,您是否在节点前面有某种可能导致问题的反向代理(例如,它缓存页面而不发送
Vary
response头)?@robertklep由于很难复制,因此我们没有测试过。到目前为止,我们从日志中检查问题。我们没有反向代理,但我们有CDN。我们之前确实观察到CDN缓存了301重定向响应,尽管它不会缓存任何其他动态响应。那么,CDN是否可能将最后一个用户的cookie发送到下一个用户,并在从http重定向到https时更新后者?但是通过nginx重定向不会发送cookie头…我认为如果CDN只是将用户从
http://
重定向到
https://
,它将不会设置任何cookie(我还假设您的服务器正在设置会话cookie,而不是CDN)。如果您可以看到日志文件中出现的问题,您是否可以看到它们具有相同的会话id值?如果是这样,您应该查询数据库,查看是否确实有多个会话连接到同一会话id。