Приложение Node.Js Express не позволяет входить в систему при работе на AWS ECS за балансировщиком нагрузки - PullRequest
0 голосов
/ 14 июля 2020

У меня есть приложение Node.Js, работающее в кластере AWS ECS за балансировщиком нагрузки. Он обращается к inte rnet через предоставленный Amazon publi c DNS.

Внутри приложения есть функция входа пользователя на основе паспорта / express.

Когда я просто запустите его как 1 задачу, тогда можно будет войти в систему для пользователя.

Когда я запускаю его как более 1 задачу, тогда, когда он входит в систему (я вижу это в журналах), он напрямую не пройти через другую функцию и выйти из системы.

В чем может быть проблема?

1 Ответ

2 голосов
/ 14 июля 2020

Похоже, что sticky session не включен, и в результате этот запрос распределен случайным образом между двумя разными задачами, и сеанс не существует для пользователя.

Прикрепленные сеансы

Прикрепленные сеансы - это механизм для маршрутизации запросов к той же цели в целевой группе. Это полезно для серверов, которые поддерживают информацию о состоянии, чтобы обеспечить непрерывную работу клиентов . Чтобы использовать закрепленные сеансы, клиенты должны поддерживать файлы cookie.

Вы можете включить закрепленный сеанс в балансировщике нагрузки под LB attributes.

load-balancer-target- групповые липкие сессии

...