Может ли Express Session создать идентичный идентификатор сессии с помощью балансировщика нагрузки
Я использую 2 машины, используя ebs для сервера моего сайта. Он написан в express.js, там работают 2 сервера узлов. И я создаю сессии, используя экспресс-сессии и сохраняя их в Redis.
Есть ли вероятность того, что 2 машины могут в итоге создать идентичный идентификатор сессии?
1 ответ
Под капотом, express-session
использования uid-safe
генерировать идентификатор сессии, который, в свою очередь, должен использовать crypto.randomBytes
если доступно.
Это должно гарантировать, что UID основан на данных, которые являются достаточно безопасными для использования в криптографии, что означает, что он должен быть полностью непредсказуемым и невоспроизводимым в большинстве случаев. Я бы запустил node
обрабатывать и просто подтвердить, что crypto.randomBytes
доступен.
Если вы хотите отслеживать, какой процесс создал идентификатор сеанса, вы можете дополнительно использовать некоторые из crpyto
методы, которые позволят вам дополнительно кодировать полученный UID с помощью солей / токенов, которые являются уникальными для каждого запущенного процесса.
Возможно, вы захотите обсудить это более подробно на Cryptography SE или Security SE для получения мельчайших подробностей от экспертов, но, насколько вам известно, использовать генератор идентификатора сеанса по умолчанию в express-session
не только с процессами, запущенными на отдельных машинах, но даже с процессами, работающими в одной среде.