Node.js connect.session与节点azure一起工作吗
我开始在azure上使用node.js开发应用程序。我使用everyauth提供身份验证,因为我想支持许多不同的身份验证方法。我计划部署到Azure。我遇到的潜在问题是everyauth需要connect.session助手。在运行多个实例时,这是否适用于azure?或者我需要其他会话提供程序吗?我从未在Azure上使用过Node.js,但是: 埃维雅思 查看Node.js connect.session与节点azure一起工作吗,node.js,azure,connect,everyauth,Node.js,Azure,Connect,Everyauth,我开始在azure上使用node.js开发应用程序。我使用everyauth提供身份验证,因为我想支持许多不同的身份验证方法。我计划部署到Azure。我遇到的潜在问题是everyauth需要connect.session助手。在运行多个实例时,这是否适用于azure?或者我需要其他会话提供程序吗?我从未在Azure上使用过Node.js,但是: 埃维雅思 查看everyauth的文档,有一种针对Windows Azure ACS进行身份验证的方法。请参阅中标题为“设置Windows Azure访
everyauth
的文档,有一种针对Windows Azure ACS进行身份验证的方法。请参阅中标题为“设置Windows Azure访问控制服务(ACS)身份验证”的部分。这里没有关于它不能在Azure上工作的注释,所以我可以由此推断,您可以在Azure上使用它
连接azure
还有一个名为的项目,它似乎正在使用connect.session
,因此我再次推断它将在Azure上工作
联系Azure支持
如果你已经是客户,你可以
试试看
因此,如果你有Azure环境设置,我肯定会说它值得一试。这是前一段时间提出的问题,但我想我还是会尝试一个答案。连接会话似乎依赖cookies来维护会话。Azure具有不同的负载平衡策略,具体取决于您使用的内容:
- WebRole/WorkerRole-LB没有任何关联性,因此来自客户端的请求可能会在不同的后端实例中结束。这将取消会话管理连接正在执行的任何操作。这是分布式云架构的一个副作用:您不希望任何后端节点成为真相的来源,因为它可能会崩溃。因此,您需要做的是找出如何将connect的cookie存储外部化,并让所有后端共享它。这样,无论哪个后端接收到请求,它都会知道会话
- 网站-在这种情况下,LB实际上会尝试将客户端连接固定到给定的后端实例,因此基于cookie的会话可以在没有任何更改的情况下工作。如上所述,您正在牺牲故障切换