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

无法通过自定义子域名访问AKS应用问题求助

问题排查与解决方案

1. 检查Ingress资源配置

你部署示例应用所用的aspnetapp.yaml中的Ingress资源大概率未配置host匹配规则,导致Application Gateway无法将域名请求转发到对应服务。

  • 执行命令查看当前Ingress配置:
    kubectl get ingress -o yaml
    
  • 若Ingress中无spec.rules.host字段,需修改Ingress资源添加对应域名:
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: aspnetapp-ingress
      annotations:
        kubernetes.io/ingress.class: azure/application-gateway
    spec:
      rules:
      - host: mtest.6pack.dev
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: aspnetapp-service
                port:
                  number: 80
      - host: test2.6pack.dev
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: aspnetapp-service
                port:
                  number: 80
    
  • 应用修改后的配置:
    kubectl apply -f <修改后的yaml文件路径>
    

2. 验证Application Gateway路由配置

  • 登录Azure门户,找到目标Application Gateway,检查路由规则是否将mtest.6pack.dev/test2.6pack.dev绑定到对应HTTP设置和后端池。
  • 确认HTTP设置中已开启“基于名称的多站点”转发逻辑,且后端池关联正确。

3. 排查HTTP/HTTPS访问差异

  • 你当前用IP访问的是http://20.93.56.72/,但直接输入域名时浏览器可能自动跳转HTTPS(如HSTS缓存)导致失败,尝试直接访问http://mtest.6pack.dev测试。
  • 若需HTTPS访问,需在Application Gateway上配置SSL证书,并更新Ingress资源添加TLS段配置。

4. 清除本地DNS缓存

全球DNS解析正确不代表本地无旧缓存,执行对应命令清除:

  • Windows:ipconfig /flushdns
  • macOS:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
  • Linux:sudo systemd-resolve --flush-caches

5. 检查网络安全规则

确保Application Gateway公网IP对应的NSG允许80/443端口入站流量,同时AKS集群节点NSG允许Application Gateway访问后端服务端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 22:07:16