Traefik Redirect не работает с перезаписью - PullRequest
0 голосов
/ 09 июня 2019

Я перехожу с nginx-ingress на traefik, и у меня возникают проблемы с переносом правила для отображения панели управления kubernetes.Это хорошо документированная ошибка, что панель управления не будет работать, если к ней нет доступа через косую черту.См. здесь для примера и обходной путь nginx.Я не могу воспроизвести эту функциональность, используя traefik.Вот что у меня сейчас есть

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: dashboard
  namespace: kube-system
  annotations:
    ingress.kubernetes.io/auth-type: forward
    ingress.kubernetes.io/auth-url: http://traefik-oauth2.ingress
    ingress.kubernetes.io/rewrite-target: '/'
    ingress.kubernetes.io/redirect-regex: /dash$
    ingress.kubernetes.io/redirect-replacement: /dash/
    ingress.kubernetes.io/redirect-permanent: "false"
    ingress.kubernetes.io/custom-request-headers: >-
      Authorization: Bearer <redacted>
spec:
  tls:
  - hosts:
    - <redacted>
  rules:
  - host: <redacted>
    http:
      paths:
      - path: /dash
        backend:
          serviceName: kubernetes-dashboard
          servicePort: http

Что я заметил, так это то, что, похоже, есть конфликт с аннотацией rewrite-target.Когда я удаляю это, я вижу (просматривая URL в моем браузере), что /dash правильно перенаправлен на /dash/.К сожалению, это приводит к 404 ошибкам, поскольку rewrite-target необходимо, чтобы получить панель мониторинга, используя правильные пути.

Итак, вопрос в том, как правильно перенести этот вход из nginx?

...