如何配置后端为Application Gateway的自定义Azure Front Door并排查流量故障?
Azure Front Door对接AGIC部署的Application Gateway无响应问题排查方案
问题描述
配置Azure Front Door时,将两台部署了AGIC(Application Gateway Ingress Controller)的Application Gateway作为后端池目标,访问Front Door端点时流量无法到达Application Gateway,请求无响应;但将WebApp作为后端时运行完全正常。访问时的错误截图如下:
1. 后端池与健康探测验证
- 确认Application Gateway的公共IP/FQDN已准确添加到Front Door后端池,端口配置与AG的监听端口完全匹配(HTTP用80,HTTPS用443)。
- 检查健康探测配置:
- 探测路径必须对应AG上存在的、能稳定返回200状态码的端点(比如AG默认健康检查路径,或Ingress配置的有效业务路径)。
- 探测协议需与AG监听协议一致:若AG启用HTTPS,需确保Front Door健康探测使用HTTPS,且信任AG的证书(可选择“忽略证书错误”临时测试)。
- 若健康探测失败,Front Door会将该后端标记为不可用,停止转发流量,优先修复探测问题。
2. Application Gateway与AGIC配置检查
- 验证AGIC同步状态:
- 在Azure门户查看Application Gateway的后端健康页面,确认所有后端目标(对应K8S服务)状态为“健康”。
- 执行
kubectl get ingress命令,检查K8S集群中Ingress资源的ADDRESS字段是否已正确关联AG的公共IP/FQDN。
- 检查AG的安全规则:
- 确认AG的WAF未拦截Front Door流量,可临时关闭WAF测试,若恢复则调整WAF规则允许Front Door的IP范围。
- 验证AG的NSG(网络安全组)是否开放对应端口(80/443),允许来自
AzureFrontDoor.Backend服务标签的入站流量。
3. Front Door路由与转发配置
- 核对路由规则:
- 确认路由规则已关联正确的后端池,路径匹配规则与AG的Ingress路径保持一致。
- 若使用HTTPS:要么配置Front Door终止SSL后以HTTP转发到AG(需AG开启HTTP监听),要么确保Front Door的证书与AG的证书兼容,避免证书不匹配导致的转发失败。
- 验证源IP传递:
- 若业务需要真实客户端IP,需确保Front Door已启用
X-Forwarded-For头传递,同时AG的后端设置开启“拾取客户端IP”。
- 若业务需要真实客户端IP,需确保Front Door已启用
4. 连通性测试
- 从Azure内部VM(与AG同区域更佳)直接访问AG的公共IP/FQDN,确认AG本身能正常响应请求,排除AG自身故障。
- 使用Azure网络诊断工具,检查Front Door到AG的网络路径是否存在阻塞。
5. 日志分析
- 查看Front Door的访问日志(在Azure Monitor中查询
FrontDoorAccessLog),确认请求是否已发送到后端,以及后端返回的状态码。 - 查看Application Gateway的访问日志和防火墙日志(查询
ApplicationGatewayAccessLog和ApplicationGatewayFirewallLog),检查是否有Front Door的请求到达,是否存在拦截或错误记录。
内容的提问来源于stack exchange,提问作者Deeksha devops
相关产品推荐
相关产品推荐

