Traefik - редирект не работает с PathPrefixStrip без слеша - PullRequest
0 голосов
/ 04 марта 2019

Мне нужно перенаправить конкретный /path, я пишу эту композицию:

web1:
    image: httpd
    labels:
      - "traefik.backend=httpd"
      - "traefik.frontend.rule=Host:www.example.com"
      - "traefik.port=80"
web2:
    image: nginx
    labels:
      - "traefik.backend=nginx"
      - "traefik.frontend.rule=Host:www.foobar.com"
      - "traefik.port=80"   
app:
    image: custom/image
    labels:
      - "traefik.backend=app"
      - "traefik.frontend.rule=Host:www.example.com,www.foobar.com; PathPrefixStrip:/app"
      - "traefik.port=80"

Когда я перехожу к http://www.example.com/app и http://www.foobar.com/app, мне нужно перейти в контейнер app, но работать, только еслия вставляю / в конце URL:

http://www.example.com/app не работает

http://www.foobar.com/app не работает

http://www.example.com/app/ работа

http://www.foobar.com/app/ работа

У меня уже есть версия этого приложения, которая работает с псевдонимом Apache, я полагаю, это не проблема приложения

Спасибо

1 Ответ

0 голосов
/ 05 марта 2019

Я нашел решение здесь: https://github.com/containous/traefik/issues/563#issuecomment-421360934

labels:
  - "traefik.frontend.redirect.regex=^(.*)/path$"
  - "traefik.frontend.redirect.replacement=$1/path/"
  - "traefik.frontend.rule=PathPrefix:/path;ReplacePathRegex: ^/path/(.*) /$1"
...