Azure应用网关能否基于健康探测结果将流量重定向至其他URL?
Azure应用网关健康探测异常时的流量重定向配置说明
核心结论
Azure应用网关本身不直接支持基于健康探测结果自动将流量重定向到外部URL,但可以通过组合现有功能实现类似需求,具体分两种场景处理:
场景一:后端池部分实例不健康
- 当后端池里的单个/部分实例宕机,健康探测返回4xx/5xx时,应用网关会自动把流量路由到同后端池中的健康实例——这是默认的负载均衡故障转移机制,不用额外配置。
- 如果后端池所有实例都不健康,应用网关会给客户端返回502 Bad Gateway错误,不会自动跳转其他URL。
场景二:实现全后端池不健康时的重定向
要实现全后端池挂掉时流量重定向到指定URL,需要这么配置:
- 创建备用后端池:搭一个包含备用服务(或者专门的静态响应服务)的后端池,确保这个池的健康探测始终返回正常响应。
- 设置路由规则优先级:主路由规则指向原后端池,再建一个优先级更低的备用路由规则指向备用后端池。
- 配置备用池的重定向规则:要么让备用服务直接返回3xx重定向响应,要么在应用网关的后端HTTP设置里,给备用后端池配置URL重定向(选择永久/临时重定向类型,填好目标URL)。
补充说明
- 应用网关的健康探测只用来判断后端实例能不能用,决定要不要把流量发过去,本身不会触发重定向动作。
- 如果要针对单个实例的错误(不是全池不健康)触发重定向,没法直接靠健康探测实现,得让后端服务自己返回3xx重定向响应,由应用网关把这个响应透传给客户端。
内容的提问来源于stack exchange,提问作者CloudWindMoonSun
相关产品推荐
相关产品推荐

