I have a vanilla k8s ingress, using annotations, I specify a middleware that should redirect any request to /license path (non-case-sensitive). ie. /license, /LICENSE, /liCEnsE, should all redirect to the base url.
All scenarios except for fully capital case paths, will redirect to the base path. I've been scratching my head as to why this could be, and I really can't figure it out at all.
What version of Traefik are you using?
traefik v3.1.2
What is your environment & configuration?
---
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: traefik
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.middlewares: harbor-license-redirect@kubernetescrd
spec:
ingressClassName: traefik
rules:
- host: domain.com
http:
paths:
- backend:
service:
name: harbor-core
port:
number: 80
path: /api/
pathType: Prefix
- backend:
service:
name: harbor-core
port:
number: 80
path: /service/
pathType: Prefix
- backend:
service:
name: harbor-core
port:
number: 80
path: /v2/
pathType: Prefix
- backend:
service:
name: harbor-core
port:
number: 80
path: /c/
pathType: Prefix
- backend:
service:
name: harbor-portal
port:
number: 80
path: /
pathType: Prefix
---
apiVersion: traefik.io/v1alpha1
kind: Middleware
metadata:
name: license-redirect
namespace: harbor
spec:
redirectRegex:
regex: ^(.*)/(?i)license
replacement: ${1}