首页/云/Kubernetes 速查/Ingress 默认后端与 404 行为
本包目录(307 条)
kubectl 基础56 条工作负载36 条
网络与服务55 条
配置与存储54 条调度与资源52 条集群运维与排障54 条

Ingress 默认后端与 404 行为

请求不匹配任何规则时的兜底:控制器自带默认后端(通常返回 404),也可在 Ingress 上指定 defaultBackend 指向自建兜底服务。

Kubernetes 速查云更新于 2026-10-12

Ingress 级默认后端

Ingress 级默认后端
spec:
  defaultBackend:
    service:
      name: fallback-web
      port:
        number: 80
  rules:
    - host: app.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: web
                port:
                  number: 80

排查 404 来源

排查 404 来源
kubectl -n ingress-nginx logs deploy/ingress-nginx-controller | grep -i '404' | tail
kubectl describe ingress web-ing | grep -A10 Rules
curl -sv -H 'Host: app.example.com' http://<入口IP>/not-exist
分不清 404 是「没匹配到规则」还是「后端应用返回」时,看响应头(Server: nginx/控制器特征)与控制器的访问日志。

易错点

  • 规则里的 host 与实际访问域名不一致会直接落到默认后端(404),先用 curl -H Host 复现
  • defaultBackend 与规则内 path 的匹配优先级由控制器实现,别依赖模糊预期

数据来源与参考

  • Kubernetes 官方文档 · Ingress(Default backend)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌