удалить определенный путь в nginx ingress - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть один веб-сервер, который работает с правами root.

Но я хочу получить определенный путь к другому пути:

/anydir1/anydir2/somepath1/somepath2/somefile.js?ver=12345 -> /somepath1/somepath2/somefile.js?ver=12345

Хотя другие пути не должны быть затронуты:

/anydir1/somepath1/somefile.js?ver=12345 -> /anydir1/somepath1/somefile.js?ver=12345

Я попытался настроить два пути во входе:

annotations:
  nginx.ingress.kubernetes.io/rewrite-target: /$1

...

rules:
- host: myhost.com
  http:
    paths:
    - path: /anydir1/anydir2/(.*)
      ...
    - path: /
      ...

Я перепробовал множество комбинаций на основе https://kubernetes.github.io/ingress-nginx/examples/rewrite/#rewrite-target. Но иногда путь объединяется дважды, например $1$1.Иногда возникают другие проблемы.Трудно описать все проблемы, которые у меня были, так как я пытаюсь настроить это с нескольких часов.

Есть ли намеки?

Ожидаемые результаты:

/anydir1/anydir2/somepath1/somepath2/somefile.js?ver=12345 -> /somepath1/somepath2/somefile.js?ver=12345
/anydir1/anydir2/somepath1/somefile.js?ver=12345 -> /somepath1/somefile.js?ver=12345
/anydir1/anydir2/somepath1/ -> /somepath1/
/anydir1/anydir2/ -> /
/ -> /
anydir3/somefile.js -> anydir3/somefile.js
somefile.js -> somefile.js
...