You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure AKS中Azure应用网关Ingress控制器子域名路由异常求助

问题出在Ingress规则的结构上!

嗨,我一眼就发现问题所在啦!你的Ingress YAML里,rules数组的格式写错了——你把每个域名对应的路由规则拆成了两个独立的列表项,导致Kubernetes和Azure应用网关Ingress控制器解析时出现了混乱。

错误原因分析

你原来的写法中,每个host和对应的http路由配置是分开的两个数组元素:

  • 第一个元素只有host: service1.domain.com,没有任何路由路径配置
  • 第二个元素是不带host的http规则(指向service1),这会被当成默认路由
  • 第三个元素只有host: service2.domain.com,同样没有路由配置
  • 第四个元素是另一个不带host的http规则(指向service2),这个规则会覆盖前面的默认路由

结果就是,不管访问哪个域名,都会匹配到最后那个不带host的默认路由,也就是service2。

修正后的正确配置

把每个域名和对应的路由路径放在同一个-开头的规则对象里:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: app-ingress
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
spec:
  rules:
  - host: service1.domain.com
    http:
      paths:
      - path: /
        backend:
          service:
            name: service1
            port:
              number: 80
        pathType: Prefix
  - host: service2.domain.com
    http:
      paths:
      - path: /
        backend:
          service:
            name: service2
            port:
              number: 80
        pathType: Prefix

后续操作

用这个修正后的配置更新你的Ingress:

kubectl apply -f your-ingress-file.yaml

之后等待几分钟,Azure应用网关Ingress控制器会自动同步配置,这时再访问两个域名就能正确路由到对应的服务啦。

内容的提问来源于stack exchange,提问作者Shubzumt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 21:47:28