node.js - Node.Js Express 应用程序在负载均衡器后面的 AWS ECS 上运行时不允许登录
问题描述
我有一个 Node.Js 应用程序在负载均衡器后面的 AWS ECS 集群上运行。它通过亚马逊提供的公共 DNS 面向互联网。
在应用程序内部有一个基于护照/快递的用户登录功能。
当我将它作为 1 个任务启动时,就可以为用户登录。
当我将它作为一个以上的任务启动时,当它登录时(我可以在日志中看到它),它直接不会通过其他功能并注销。
这里可能是什么问题?
解决方案
似乎sticky session
未启用,因此请求随机分布在两个不同的任务中,并且用户不存在会话。
粘性会话
粘性会话是一种将请求路由到目标组中相同目标的机制。这对于维护状态信息以便为客户端提供持续体验的服务器很有用。要使用粘性会话,客户端必须支持 cookie。
您可以在 LB 下的负载均衡器中启用粘性会话 attributes
。
推荐阅读
- vuetify.js - vuetify v-card组件中的元素垂直对齐
- linux - 如何使用 sed 删除 grub 条目?
- javascript - 如何删除冒号:在我的 json.stringify 之后
- node.js - node_modules/@fullcalendar/core/main.d.ts(1196,54) 中的错误:错误 TS1144:'{' 或 ';' 预期的
- postgresql - Prisma 1 到 2 迁移问题:P4001 自省数据库为空
- angular - ngx Bootstrap Typeahead 选择后再次显示所有列表并再次聚焦
- angular - 角度通用渲染问题
- wordpress - Wordpress wp-admin css未加载
- python - 替换行中最后一个非 NaN 值
- json - 通过Powershell比较两个不同语法的Json文件