default backend - 404 Kubernetes Origin: Platform & cloud Last updated 13 Oct 2026

Ingress returns "404 Not Found" / "default backend - 404" (ingress-nginx)

The ingress controller received the request but no Ingress rule matched the host/path, so it answered with its default backend.

Exact message you may see default backend - 404404 Not Found nginx ingressingress returns 404
Seen on: Kubernetes

Meaning

ingress-nginx serves a 404 page when the Host header or path doesn’t match any rule, the Ingress lacks the right ingressClassName (so this controller ignores it), or the path type/rewrite doesn’t match the URL.

Common causes

  • Missing or wrong ingressClassName (controller ignores the Ingress)
  • Host in the rule differs from the requested host (www vs apex)
  • pathType/Prefix vs Exact mismatch or missing rewrite
  • Ingress in another namespace from the Service it references

⚡ Quick fix

  1. kubectl get ingress -A and check CLASS and HOSTS
  2. Request with the exact host: curl -H 'Host: app.example.com'
  3. Check controller logs for the request

Detailed fix by platform

YAML

  1. bash
    spec:
      ingressClassName: nginx
      rules:
      - host: app.example.com
        http:
          paths:
          - path: /
            pathType: Prefix
            backend: { service: { name: web, port: { number: 80 } } }

How to diagnose

  1. Class — ingressClassName matches the controller?
  2. Host — Exact match?
  3. Logs — kubectl logs -n ingress-nginx deploy/ingress-nginx-controller

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Platform & cloud. Errors that are often confused with or caused by this one (click to open):

404 — HTTP 404 Not Found (HTTP)404actively refused it — HttpRequestException: No connection could be made because the target machine actively refused it (localhost:5001) (.NET)actively refused itadmission webhook denied the request — Error from server: admission webhook "validate.nginx.ingress.kubernetes.io" denied the request (Kubernetes)admission webhook den…CannotPullContainerError — ECS task stopped: CannotPullContainerError: pull image manifest has been retried ... / ref pull has been retried (AWS)CannotPullContainerEr…DNS in pod — DNS not working inside a Kubernetes pod (could not resolve host / nslookup: can't resolve) (Kubernetes)DNS in podFailedCreatePodSandBox — Failed to create pod sandbox: plugin type="calico" failed (add): ... (FailedCreatePodSandBox) (Kubernetes)FailedCreatePodSandBoxNetworkOnMainThreadException — android.os.NetworkOnMainThreadException (Android)NetworkOnMainThreadEx…no endpoints — Service has no endpoints (no endpoints available for service / Endpoints: <none>) (Kubernetes)no endpointsdefault b…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.