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

AKS环境下Nginx Ingress配置Host规则失效求助

解决AKS环境Ingress配置Host后超时的问题

以下是针对性的排查和解决步骤:

  • 验证DNS解析正确性
    确认域名nginx-basic-auth-az-cli.demo.kagarlickij.com已正确指向Ingress Controller的公网IP:

    nslookup nginx-basic-auth-az-cli.demo.kagarlickij.com
    

    若解析错误,需调整DNS记录,指向通过kubectl get svc -n ingress-nginx获取的Ingress Controller外部IP。

  • 检查Ingress Controller配置同步
    查看Ingress Controller Pod日志,确认Host规则是否加载成功:

    kubectl logs -n ingress-nginx -l app.kubernetes.io/name=ingress-nginx --tail=50
    

    排查日志中是否存在配置加载失败的错误提示(如域名格式、权限问题)。

  • 排查AKS网络策略与防火墙

    • 临时禁用集群内的网络策略,测试是否是策略阻止了流量:
      kubectl delete networkpolicy <目标策略名称>
      
    • 检查Azure防火墙或NSG(网络安全组)规则,确保允许80/443端口的入站流量,以及Ingress Controller到集群内部服务的通信。
  • 清理冗余Ingress注解
    当前路径为/,无需正则重写注解,移除后可避免规则冲突:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: hello-world-ingress
      annotations:
        nginx.ingress.kubernetes.io/ssl-redirect: "false"
    spec:
      ingressClassName: ingress-nginx
      rules:
      - host: nginx-basic-auth-az-cli.demo.kagarlickij.com
        http:
          paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: aks-helloworld-one
                port:
                  number: 80
    

    应用修改后的配置:

    kubectl apply -f <Ingress配置文件路径>
    
  • 测试后端服务可达性
    在Ingress Controller Pod内部测试能否访问后端服务:

    kubectl exec -n ingress-nginx -it <Ingress Controller Pod名称> -- curl http://aks-helloworld-one:80
    

    若无法访问,需检查后端Pod是否正常运行、端口配置是否正确。

  • 验证版本兼容性
    确认ingress-nginx v1.8.1与AKS v1.26.6的兼容性,必要时升级ingress-nginx到适配AKS 1.26的版本(如v1.9.x系列)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 13:16:15