Node.js Js Express应用程序没有';在负载平衡器后面的AWS ECS上运行时不允许登录

Node.js Js Express应用程序没有';在负载平衡器后面的AWS ECS上运行时不允许登录,node.js,express,passport.js,amazon-ecs,aws-load-balancer,Node.js,Express,Passport.js,Amazon Ecs,Aws Load Balancer,我有一个Node.Js应用程序运行在负载平衡器后面的AWS ECS集群上。它通过亚马逊提供的公共DNS面对互联网 在应用程序内部,有一个基于passport/express的用户登录功能 当我将其作为一个任务启动时,就可以为用户登录 当我将它作为多个任务启动时,当它登录时(我可以在日志中看到),它不会直接通过其他函数并注销 这里可能有什么问题?似乎粘性会话未启用,因此请求随机分布在两个不同的任务中,用户不存在该会话 粘性会话 粘性会话是一种将请求路由到目标组中相同目标的机制。这对于维护状态信息以

我有一个Node.Js应用程序运行在负载平衡器后面的AWS ECS集群上。它通过亚马逊提供的公共DNS面对互联网

在应用程序内部,有一个基于passport/express的用户登录功能

当我将其作为一个任务启动时,就可以为用户登录

当我将它作为多个任务启动时,当它登录时(我可以在日志中看到),它不会直接通过其他函数并注销


这里可能有什么问题?

似乎
粘性会话
未启用,因此请求随机分布在两个不同的任务中,用户不存在该会话

粘性会话

粘性会话是一种将请求路由到目标组中相同目标的机制。这对于维护状态信息以便为客户端提供连续体验的服务器非常有用。要使用粘性会话,客户端必须支持cookie

您可以在负载平衡器的LB
属性下启用粘性会话


似乎
粘性会话
未启用,因此请求随机分布在两个不同的任务中,用户不存在该会话

粘性会话

粘性会话是一种将请求路由到目标组中相同目标的机制。这对于维护状态信息以便为客户端提供连续体验的服务器非常有用。要使用粘性会话,客户端必须支持cookie

您可以在负载平衡器的LB
属性下启用粘性会话


您是否使用客户端令牌,如JWT或带有cookie的服务器端会话等?带有cookie的服务器端@slebetman您是否确保两个进程都可以访问相同的会话存储?例如,它们共享磁盘上的相同会话文件夹或数据库中的相同会话表等?您是否使用客户端令牌(如JWT)或服务器端会话与Cookie等?服务器端与Cookie、@slebetman您是否确保两个进程都可以访问相同的会话存储?他们在磁盘上共享同一个会话文件夹,或者在数据库中共享同一个会话表等等?就是这样!非常感谢。就这样!非常感谢。