Kubernetes Ingress 404: The Three Mismatches

Symptom

Ingress applied, DNS set, but requests 404.

Root cause

Wrong ingressClass, pathType, or backend service/port mismatch.

Fix, in order

1. Controller must claim the classkubectl get ingressclass && ingressClassName: nginx # must match
2. Check the service and port actually exist as namedkubectl get svc <name> -o wide
3. pathType matters more than the pathpathType: Prefix # vs ImplementationSpecific

Prevent it coming back

Template your ingresses; CI validates against the class list.

Deep-dive article

Full walkthrough: Kubernetes Ingress 404: The Three Mismatches on the NinjaOps blog.

Run it on clean infra

Spinning up a fresh box to reproduce or escape this error?

Managed cloud hosting

Related

Cloud & DevOps tool comparisons · Hardware build guides

NinjaOps publishes free engineering guides. Some outbound links are affiliate links: they cost you nothing and support the site.

Last reviewed 2026-10-02 · NinjaOps SEO grid · DevOps blog