Ограничить разрешенные методы на маршрутах Traefik - PullRequest
0 голосов
/ 19 сентября 2019

В настоящее время я использую traefik 1.6.x в качестве входного контроллера в моих кластерах K8s.Я хотел обновить до 1.7.x (а потом и до 2.x позже), но мои входы больше не работают после обновления.

Кажется, проблема в том, что я делаю ограничения метода http на своемвходит, добавляя методы к аннотации traefik.frontend.rule.type следующим образом:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: app-name
  namespace: namespace1
  annotations:
    kubernetes.io/ingress.class: traefik
    traefik.frontend.rule.type: "Method: CONNECT, DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT; PathPrefix"
    ingress.kubernetes.io/hsts-max-age: "315360000"
    ingress.kubernetes.io/hsts-include-subdomains: "true"
    ingress.kubernetes.io/custom-frame-options-value: "SAMEORIGIN"
    ingress.kubernetes.io/content-type-nosniff: "true"
    ingress.kubernetes.io/browser-xss-filter: "true"
    ingress.kubernetes.io/custom-response-headers: "Server:||X-Application-Context:||X-Powered-By:||exception:"
spec:
  rules:
    - host: ...

Я не знаю, предполагалось ли это когда-либо сделать таким образом, но, очевидно, это сработало.Я обнаружил, что в каком-то другом посте StackOverflow iirc.

Удаление части Method (или всей аннотации тогда, потому что PathPrefix по умолчанию) возвращает маршруты к жизни.Но, конечно, это снова позволяет, например, метод TRACE.

Есть ли другой способ ограничить их (возможно, даже для всех входов) версиями traefik из 1.7.x?

Спасибозаранее!

...