Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 Express会话能否与负载平衡器创建相同的会话id_Node.js_Session_Cryptography_Load Balancing_Express Session - Fatal编程技术网

Node.js Express会话能否与负载平衡器创建相同的会话id

Node.js Express会话能否与负载平衡器创建相同的会话id,node.js,session,cryptography,load-balancing,express-session,Node.js,Session,Cryptography,Load Balancing,Express Session,我使用2台机器使用ebs服务器我的网站。它是用express.js编写的,有两个节点服务器在运行。我使用express sessions创建会话并将其存储在redis中 这两台机器是否有可能最终创建相同的会话id 在引擎盖下,express session使用生成会话ID,如果可用,则依次生成会话ID 这应该保证UID基于足够安全的数据,可以用于密码学,这意味着在大多数情况下它应该是完全不可预测和不可生产的。我会启动一个节点进程并确认crypto.randomBytes可用 如果要跟踪哪个进程创

我使用2台机器使用ebs服务器我的网站。它是用express.js编写的,有两个节点服务器在运行。我使用express sessions创建会话并将其存储在redis中

这两台机器是否有可能最终创建相同的会话id

在引擎盖下,express session使用生成会话ID,如果可用,则依次生成会话ID

这应该保证UID基于足够安全的数据,可以用于密码学,这意味着在大多数情况下它应该是完全不可预测和不可生产的。我会启动一个节点进程并确认crypto.randomBytes可用

如果要跟踪哪个进程创建了会话ID,还可以使用一些crpyto方法,使您能够使用盐/令牌对生成的UID进行进一步编码,这些盐/令牌对于每个正在运行的进程都是唯一的


您可能希望在专家同行的详细信息上对此进行进一步讨论,但就您而言,在express session中使用默认会话ID生成器应该是安全的,而不仅仅是在单独的机器上运行进程,但即使是在同一环境中运行的进程。

为什么您的两台服务器都应该接受该请求?如果您使用负载平衡器,则请求应仅由您的一台服务器处理。是的,完全正确!不会的。我的问题是假设用户A点击机器1,机器1为他生成一个sessionID,比如sess-X。现在用户B来点击机器2,机器2为他生成另一个sessionID,比如sess-Y。sess-X和sess-Y有没有可能相同?两台机器可以创建相同的sessionID吗?世界末日今天到来的可能性更大,因为它们是随机+时基生成的。