I am trying to use the path based routing mechanism provided by Traefik ingress controller in Kubernetes but I have some issues with the url rewriting.
My [UPDATED] configuration is as follow
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.ingress.kubernetes.io/auth-type: "basic"
    traefik.ingress.kubernetes.io/auth-tls-insecure: "true"
    traefik.ingress.kubernetes.io/frontend-entry-points: "http,https"
    traefik.ingress.kubernetes.io/app-root: "/"
    traefik.ingress.kubernetes.io/rule-type: "PathPrefixStrip"
    traefik.ingress.kubernetes.io/rewrite-target: "/"
  name: webapp-ingress
  namespace: my-company
spec:
  rules:
   - host: local-ubuntu
   - http:
      paths:
      - path: /
        backend:
          serviceName: webapp
          servicePort: 80
      - path: /db
        backend:
          serviceName: db-manager
          servicePort: 8081
The traffic is routed to the right services but the url is still prefixed with /db when I look at the log for the db-manager (kubernetes) service. What I would have expected with the PathPrefixStrip is that the traffic will be routed without the /db prefix to the container running the db-manager micro-service which is listening on / (http://db-manager:8081) on the backend side.
Am I missing something ? Is it supported by traefik or only nginx ? Thank you by advance for your feedback.
[EDIT]
To be more specific I observe the following with the current annotations discussed below
- traefik.ingress.kubernetes.io/rule-type: "PathPrefixStrip"
- traefik.ingress.kubernetes.io/rewrite-target: "/"
URL: http://local-ubuntu/db [OK] -> 200
Then other resources are loading but are pointing on the wrong base url
Example:
Resource URL is : http://local-ubuntu/public/css/bootstrap.min.css
But this should be : http://local-ubuntu/db/public/css/bootstrap.min.css (which works when I've tried manually)
I am not sure what I am missing here in the current configuration.
 
     
     
     
    