1

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

1)我尝试了基于 App Gateway Cookie 的 Affinity 和负载均衡器会话持久性的所有可能组合,但没有成功。

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

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

4

2 回答 2

2

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

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

于 2018-06-11T16:41:22.297 回答
1

您不需要应用程序网关后面的额外负载平衡器。配置应用程序网关本身,它是一个第 7 层(HTTP)负载均衡器,能够对 Web 流量进行负载均衡。请参阅以下网址: https ://docs.microsoft.com/en-us/azure/application-gateway/create-vmss-template

于 2018-07-30T06:30:30.590 回答