← Back to all fixes

Ingress returns 404 or does not route traffic

The Issue

You created an Ingress resource but requests to your domain return 404.

Root Cause

Common causes: Ingress controller not installed, wrong serviceName or servicePort in Ingress YAML, missing IngressClass annotation, or host header mismatch.

How to Fix
  1. Verify ingress controller pods are running: `kubectl get pods -n ingress-nginx`
  2. Check your Ingress YAML: service name and port must exactly match the Service resource
  3. Add the correct IngressClass: `ingressClassName: nginx` (or whichever controller you use)
  4. Test without host matching first — remove the `host:` field to see if path routing works
  5. Check ingress controller logs: `kubectl logs -n ingress-nginx deploy/ingress-nginx-controller`