On AWS, EKS with classical load balancer from https://github.com/kubernetes/ingress-nginx, 0.32.0 Similar to Kubernetes Ingress non-root path 404 Not Found , I'm getting 404 when forwarding a service with path: [ anything other that / ].
When forwarding with path: / , everything works, but I need to expose several services that are all giving me the same issue.
My service and deployment:
apiVersion: v1
kind: Service
metadata:
name: appointments-api
labels:
app: appointments-api
spec:
ports:
- port: 80
selector:
app: appointments-api
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: appointments-api
labels:
app: appointments-api
spec:
replicas: 3
selector:
matchLabels:
app: appointments-api
template:
metadata:
labels:
app: appointments-api
spec:
containers:
- name: appointments-api
image: ....ecr.us-west-2.amazonaws.com/appointments_api
ports:
- containerPort: 80
envFrom:
- configMapRef:
name: env-app-con
My ingress:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: appointments
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- http:
paths:
- path: /appoint
backend:
serviceName: appointments-api
servicePort: 80
now, looking here: https://kubernetes.github.io/ingress-nginx/examples/rewrite/#deployment and running this:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: appointments
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
rules:
- http:
paths:
- path: /appoint(/|$)(.*)
backend:
serviceName: appointments-api
servicePort: 80
I can get to the front page of a aspnet application, but various resources can't be reached (e.g. "Fetch error Not Found /swagger/v1/swagger.json")
I'm stumped, not sure if it's an application issue or nginx, and how to configure them.