Azure Application Gateway单BE池多站点亲和性有效性咨询
配置方案有效性判定
你当前描述的默认配置无法实现预期的跨子域名同VM路由效果。
失效核心原因
- 默认配置下,AAG生成的会话亲和性Cookie的
Domain属性会绑定到请求对应的具体子域名,受浏览器同源策略限制,用户访问另一个子域名时不会携带该Cookie,AAG无法识别已有的会话亲和标记,会重新分配后端VM。 - AAG默认的亲和性策略是单监听/单站点维度独立生效的,即使多个站点关联同一个后端池,默认也不会共享会话亲和状态。
实现预期效果的必要配置调整
要满足跨子域名同一会话路由到同一台BE VM的需求,需要完成以下配置:
- 调整亲和性Cookie的作用域:将Cookie的
Domain属性设置为两个子域名的公共根域名(例如两个站点为service1.contoso.com、service2.contoso.com时,设置为.contoso.com),确保所有子域名下的请求都会携带该亲和性Cookie。 - 两个子域名对应的AAG监听规则,必须关联同一个会话亲和性配置策略,禁止为不同子域名创建独立的亲和性策略。
- 后端池健康检查需要同时覆盖VM上运行的两个服务:因为两个服务强绑定共存在同一台VM上,只要其中一个服务异常,就需要将整台VM标记为不健康,避免流量被调度到故障节点。
注意:配置完成后需要清理浏览器本地已有Cookie做验证,旧的默认作用域Cookie会干扰新配置的生效逻辑。
内容的提问来源于stack exchange,提问作者Shlomo David
相关产品推荐
相关产品推荐

