Traefik重定向不适用于重写

时间:2019-06-09 18:54:50

标签: kubernetes traefik traefik-ingress

我正在从nginx-ingress迁移到traefik,并且在移植规则以暴露kubernetes仪表板时遇到困难。这是一个有据可查的错误,如果不使用斜杠来访问仪表板,它将无法工作。例如,请参见here和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迁移此入口?

0 个答案:

没有答案