首页/云/云与容器速查/Ingress 访问 404/路由不生效排查
本包目录(340 条)

Ingress 访问 404/路由不生效排查

Ingress 404 多数不是后端问题:确认请求进了哪个 Controller、Host/Path 规则是否匹配、IngressClass 是否被认领,再查后端。

云与容器速查云更新于 2026-10-12
第 1 步kubectl get ingress 看 ADDRESS 是否分配
第 2 步kubectl describe ingress 核对 Rules 与实际 Host/Path
第 3 步kubectl get ingressclass 对照 spec.ingressClassName
第 4 步绕 DNS 直连:curl --resolve 指定 controller IP 与 Host
第 5 步看 controller 日志确认请求是否匹配到该 Ingress

排查命令

排查命令
kubectl get ingress -A
kubectl describe ingress web
kubectl get ingressclass
curl -sv --resolve www.example.com:80:10.0.0.10 http://www.example.com/
kubectl logs -n ingress-nginx deploy/ingress-nginx-controller --tail=80
控制器未匹配与后端返回是两种 404:controller 日志能看到匹配过程;DNS 未切换时同样表现为旧源站 404,先用 --resolve 排除。

易错点

  • ingressClassName 没写或写错:Ingress 创建成功但无人认领
  • pathType 选错(Prefix/Exact):/api 与 /api/ 的匹配差异造成 404

数据来源与参考

  • Kubernetes Docs:Ingress
  • ingress-nginx Docs:Troubleshooting

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌