Application Gateway+AKS内部负载均衡器主机名路由故障求助
排查步骤:App Gateway 主机名路由失效问题
1. 验证 App Gateway 监听器与路由规则配置
- 确认
football.mydomain.tech监听器的协议、端口与cricket.mydomain.tech完全一致(如均为HTTPS/443),且绑定的证书包含该域名的SAN字段 - 检查监听器的主机名匹配规则,确认无拼写错误(大小写、字符遗漏/多写),匹配模式为精确匹配
- 查看监听器关联的路由规则,确认其正确指向AKS内部LB的后端池,且规则优先级未被其他路由覆盖(优先级数值越小,优先级越高)
2. 检查后端池与健康探针状态
- 确认
football对应的后端池已正确配置AKS内部LB的私有IP及对应端口(需与Nginx Ingress监听端口一致,通常为80或443) - 查看后端池的健康探针状态:
- 若探针显示"不健康",检查探针路径是否为Nginx可响应的路径(如
/),且探针的主机头设置为football.mydomain.tech——Nginx基于主机名路由,探针不带正确主机头会返回404,导致App Gateway判定后端不可用 - 验证探针的协议、端口与后端池配置一致
- 若探针显示"不健康",检查探针路径是否为Nginx可响应的路径(如
3. 核查 AKS Nginx Ingress 配置
- 导出
football对应的Ingress资源YAML,确认spec.rules.host字段准确为football.mydomain.tech:kubectl get ingress <football-ingress-name> -o yaml - 检查Ingress的TLS配置,确认引用的Secret存在且证书包含
football.mydomain.tech:kubectl describe secret <tls-secret-name> -n <namespace> - 查看Nginx Ingress控制器日志,确认是否收到
football.mydomain.tech的请求:kubectl logs -n kube-system <nginx-controller-pod> | grep football.mydomain.tech- 若无请求记录:流量未到达Nginx,问题在App Gateway侧
- 若有404/5xx日志:Nginx路由配置存在问题,需检查Ingress规则与后端Service关联
4. 验证DNS与请求流量
- 执行
nslookup football.mydomain.tech,确认解析结果为App Gateway的公网IP - 用curl测试并查看请求头细节,确认Host头正确发送:
检查输出中是否存在curl -v https://football.mydomain.techHost: football.mydomain.tech,以及返回的HTTP状态码
5. 测试网络连通性
- 在App Gateway所在VNet的任意虚拟机上,直接访问AKS内部LB的私有IP并指定Host头:
curl -v http://<internal-lb-ip> -H "Host: football.mydomain.tech"- 若正常返回:AKS侧路由正常,问题出在App Gateway配置
- 若返回错误:排查AKS内部Service、Pod的可用性,以及Ingress规则的正确性
内容的提问来源于stack exchange,提问作者Walmikk
相关产品推荐
相关产品推荐

