Search code examples
kuberneteskubernetes-ingresstraefiktraefik-ingress

PathPrefixStrip is ignored on ingress


Traefik version 2.5.6

I have the following ingress settings:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  kubernetes.io/ingress.class: traefik
  traefik.ingress.kubernetes.io/app-root: /users
  traefik.ingress.kubernetes.io/rule-type: PathPrefixStrip

  name: users
spec:
  rules:
  - host: dev.[REDUCTED]
    http:
      paths:
      - backend:
          service:
            name: users-service
            port:
              number: 80
        path: /users
        pathType: Prefix

But when I call:

curl -i http://dev.[REDUCTED]/users/THIS-SHOUD-BE-ROOT

I get in the pod, serving the service:

error: GET /users/THIS-SHOUD-BE-ROOT 404

What can be the reason for that?


Solution

  • Try to use Traefik Routers as in the example below:

    apiVersion: traefik.containo.us/v1alpha1
    kind: IngressRoute
    metadata:
      name: users
      namespace: default
    spec:
      entryPoints:
        - web
      routes:
      - match: Host(`dev.[REDUCTED]`) && PathPrefix(`/users`)
        kind: Rule
        services:
        - name: users-service
          port: 80