azure - 使用同一帐户 + Azure 应用程序网关的多个用户登录的 session 值更改

标签 azure session-cookies azure-application-gateway azure-load-balancer

我的网站在 Azure VMSS 下的虚拟机上运行。除此之外,还有公共(public)负载均衡器。此外,还需要一个具有相同公共(public)负载均衡器 IP 的后端池的应用程序网关。最后在Azure DNS中,我有一条Azure应用程序网关公共(public)IP的记录。问题是,当多个用户在各自的计算机上使用相同的用户 ID 登录时,很少有 session 值会以某种方式相互交换,这会导致在存储这些 session 值然后从数据库中获取这些 session 值时出现进一步的功能错误。几点:

1) 我尝试了基于应用程序网关 Cookie 的亲和性和负载均衡器 session 持久性的所有可能组合,但没有成功。

2) 它之前托管在 AWS 上,一切正常。它有 AWS 经典负载均衡器和 Barracuda WAF。

以前有人遇到过同样的问题吗?根据这个https://support.microsoft.com/en-in/help/4033827/troubleshooting-azure-application-gateway-session-affinity-issues我是否必须为后端池添加 FQDN,因为现在每个后端池都有 IP?

最佳答案

如果要保留 session 关联性,则不应将应用程序网关的后端指向负载均衡器 IP。更多详细信息如下。要解决此问题,您应该直接将 VMSS 添加为应用程序网关的后端池成员。您可以通过门户或 PowerShell/CLI 执行此操作。

当您将后端指向负载均衡器 IP 时,负载均衡器将执行 5 元组(源 IP、源端口、目标 IP、目标端口、协议(protocol))哈希,并根据哈希将流量发送到 VMSS 中的实例。因此,在您的设置中,用户请求到达应用程序网关,该网关执行循环分配,然后到达负载均衡器,该负载均衡器再次执行 5 元组哈希。这导致了上述问题。

关于azure - 使用同一帐户 + Azure 应用程序网关的多个用户登录的 session 值更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50246093/

相关文章:

WordPress 背后的反向代理 : Session-cookies not set in Safari & IE

php - 为每个 MySQL 行调用一个函数

azure - 应用程序网关中的 SSL 证书到期日期

c# - 使用 AAD 作为身份提供程序从 Azure 函数应用程序中的 token 检索角色

使用命令行参数启动时 Azure ACI 容器部署失败

session - 套接字请求的 Sails.js 授权

Azure 应用程序网关和信号器 Websocket

azure - 将静态公共(public)地址分配给Azure容器实例部署

azure - docker 中 Cosmos Db 模拟器的运行状况检查

azure - 在 HDInsight 模拟器上升级 Pig