I'm attempting to set up a path rewriting ingress to my backend service using the following:
- Kubernetes NGINX ingress controller (https://kubernetes.github.io/ingress-nginx), version 1.6.4 (built on Nginx 1.21.6)
- Running in Docker Desktop 4.9.0 with Kubernetes 1.24.0
I've deployed my service and the ingress controller using Helm. When I describe the Ingress resource, it looks exactly like this example, but with a few extra labels from Helm.
When I attempt to GET or POST to any resource (existing or not) that matches the regex using curl (using a path starting with /something
), I get a HTTP 400 response. Logging on my backend service shows that it never received the request. When I attempt to hit any other nonexistent path, I get a HTTP 404 from nginx, which is expected.
How do I resolve the HTTP 400s and get nginx to forward the traffic to my service? I'm guessing there's something missing from either my nginx config or from the ingress controller config, but I don't see anything obvious in the docs.