Azure Front Door始终路由至故障源不切换的问题咨询
Azure Front Door 流量未按预期切换至健康源排查方案
按优先级排查核心配置问题
- 校验路由规则与源组的绑定关系
最常见的配置错误是实例下创建了多个源组,当前访问的前端域名/路径匹配的路由规则,并未绑定你修改过配置的目标源组,而是绑定了仅包含故障源的其他源组。直接在Front Door设计器中选中对应路由,核对「源组」下拉选中项是否正确,不要仅在源组列表页核对配置。 - 确认故障源禁用操作已完成下发
Front Door配置端到端传播存在1-10分钟延迟,禁用源操作后不要立刻测试,至少等待15分钟再验证。注意禁用操作必须在所属源组的源列表中将对应源状态设为「已禁用」,修改后必须点击设计器顶部的「保存」按钮,未提交保存的配置不会下发到边缘节点。 - 核对健康探测规则配置
- 若开启了健康探测,确认探测路径为可正常返回200状态码的有效端点(不要默认用根路径
/,避免故障应用在启动失败阶段返回异常状态码干扰探测结果);如果探测间隔设置过长、失败容忍次数过高(例如默认30秒间隔、5次容忍阈值,需要2.5分钟才能将故障源标记为不健康),故障窗口期内仍会向故障源转发流量。 - 若关闭了健康探测,Front Door默认将所有配置的源视为健康状态,即使源服务已经停止,也会按照权重分配流量,不会自动完成切换。
- 若开启了健康探测,确认探测路径为可正常返回200状态码的有效端点(不要默认用根路径
- 核对源的优先级、权重配置
两个源如果优先级数值相同、权重均不为0,在源未被标记为不健康/未被禁用的状态下,Front Door会按权重比例分配流量。需要确认正常运行的源优先级数值更小(Azure Front Door优先级数值越小,优先级越高),待排查的故障源权重设为0。 - 排除缓存干扰
之前访问故障源返回的启动失败、403类报错可能被Front Door边缘节点缓存,也可能存在本地浏览器缓存。测试前先在Front Door控制台执行「清除缓存」操作,选择清除所有端点缓存,本地使用浏览器无痕模式、或切换不同网络环境测试,避免缓存导致的结果误判。
对应问题修复方案
- 路由绑定错误:将对应路由关联的源组修改为已配置双源、且已禁用故障源的目标源组,保存后等待配置传播完成即可。
- 禁用操作未生效:重新进入目标源组,选中故障源执行禁用操作,确认源状态显示为「已禁用」后提交保存,等待15分钟配置下发完成后再测试。
- 健康探测配置不合理:将探测路径设置为应用专用健康检查端点(例如
/health,要求正常运行的源固定返回200状态码),探测间隔调整为10秒,失败容忍次数设为2,故障源出现异常后20秒左右即可被标记为不健康,自动将流量切到正常源。 - 优先级权重配置错误:将正常源优先级设为1,暂留排查的故障源优先级设为2,故障源权重调整为0,提交配置保存即可。
- 缓存导致的异常:执行全量缓存清除后,使用无缓存的客户端环境重新访问验证。
内容的提问来源于stack exchange,提问作者ezycoder
相关产品推荐
相关产品推荐

