3

我开始在 azure 上使用 node.js 开发应用程序。我使用everyauth 来提供身份验证,因为我想支持许多不同的身份验证方法。我计划部署到 Azure。我遇到的潜在问题是everyauth 需要connect.session 助手。运行多个实例时,这是否适用于 azure?还是我需要一个替代的会话提供者?

4

2 回答 2

1

我从未在 Azure 上使用过 Node.js,但是:

所有人

查看文档以了解everyauth一种针对 Windows Azure ACS 进行身份验证的方法。有关详细信息,请参阅自述文件中Setting up Windows Azure Access Control Service (ACS) Auth标题为标题的部分。没有关于它不能在 Azure 本身上运行的说明,所以我会推断你可以在 Azure 上使用它。

连接天蓝色

还有一个名为connect-azure的项目,它似乎正在使用connect.session,所以我会从中推断它可以在 Azure 上运行。

联系 Azure 支持

如果您已经是客户,您可以联系支持部门寻求帮助

试试看

因此,如果您有 Azure 环境设置,我肯定会说值得一试。

于 2012-02-16T16:46:32.390 回答
0

不久前有人问过这个问题,但我想我还是会尝试回答。似乎连接会话依赖 cookie 来维护会话。Azure 有不同的负载平衡策略,具体取决于您使用的内容:

  • WebRole/WorkerRole - LB 没有任何关联性,因此来自您的客户端的请求可能最终会出现在不同的后端实例中。这将抛弃任何会话管理连接正在做的事情。这是分布式云架构的副作用:您不希望任何后端节点成为事实来源,因为它可能会宕机。因此,您需要做的是弄清楚如何将 connect 的 cookie 存储外部化并让所有后端共享它。这样无论后端收到请求,它都会知道会话。

  • 网站 - 在这种情况下,LB实际上尝试将客户端连接固定到给定的后端实例,因此基于 cookie 的会话可能无需任何更改即可工作。如上所述,您正在牺牲故障转移。

于 2012-10-07T02:45:05.467 回答