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

AKS部署Nginx Ingress后仅可通过域名访问、静态IP无法访问求助

问题根因

当前Ingress仅配置了platform-dns.eastus.cloudapp.azure.com单域名的匹配规则,Nginx Ingress会根据请求头的Host字段匹配路由规则:

  • 直接访问静态IP时,请求Host字段为空,无匹配规则
  • 使用自有域名访问时,请求Host字段为你的自有域名,无对应匹配规则
    两种场景都会触发 fallback 到默认后端,而你的集群中default-http-backend不存在,所以返回Nginx 404错误。
调整步骤

1. 适配静态IP直接访问

在现有Ingress配置中新增无Host的默认路由规则,所有未匹配到指定域名的请求都会走该规则:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: basic-ingress
  annotations:
    cert-manager.io/cluster-issuer: XXXXXXXXXX
    kubernetes.io/ingress.allow-http: "true"
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  tls:
  - hosts:
    - platform-dns.eastus.cloudapp.azure.com
    # 后续如果要加自有域名的HTTPS,把域名加在这里
    secretName: tls-secret
  rules:
  # 原有Azure域名规则保留
  - host: platform-dns.eastus.cloudapp.azure.com
    http:
      paths:
      - path: /*
        pathType: Prefix
        backend:
          service:
            name: smp-frontend
            port:
              number: 80
      - path: /api/*
        pathType: Prefix
        backend:
          service:
            name: smp-backend
            port:
              number: 8080
  # 新增无Host的默认规则,适配IP直接访问
  - http:
      paths:
      - path: /*
        pathType: Prefix
        backend:
          service:
            name: smp-frontend
            port:
              number: 80
      - path: /api/*
        pathType: Prefix
        backend:
          service:
            name: smp-backend
            port:
              number: 8080

2. 适配自有域名访问

完成上述配置的基础上,额外做两个调整:

  • 在Ingress的rules中新增对应自有域名的Host规则,路径配置和Azure域名的规则保持一致即可
  • 到你的域名解析服务商后台,将自有域名的A记录指向AKS集群绑定的静态公网IP
  • 若需要HTTPS访问,将自有域名添加到Ingress TLS配置的hosts列表中,cert-manager会自动为该域名签发有效证书

3. 验证配置生效

修改完配置后执行kubectl apply -f <你的ingress配置文件名>.yaml,等待2分钟左右待Ingress规则同步完成,即可分别测试静态IP、自有域名的访问是否正常。

额外校验项

如果配置后依然无法访问静态IP,执行kubectl get svc -n ingress-nginx,查看Nginx Ingress Controller对应的LoadBalancer服务的EXTERNAL-IP是否和你拿到的静态公网IP一致,若不一致需要更新Ingress Controller的Service配置,在spec中添加loadBalancerIP: <你的静态IP>字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:15:03