Пользовательское правило traefik PathStrip не соответствует

Пробуем обычное правило в traefik..

должно

  • Удалите /code из URL-адреса и отправьте оставшуюся часть на серверную часть на основе другого сопоставителя.

Пример URL: /code/rr; на серверную часть следует отправлять только /rr .. Похоже, на серверную часть отправляется только /code.

Ниже мое правило, но не работающее..

      [frontends.f_rr]
       entrypoints = ["http","https"]
       priority = 10
         passHostHeader = true
       backend = "b_co"
        [frontends.f_co.routes.test_1]
        rule = "PathStrip: /code/; Path:/rr"

person shrw    schedule 12.08.2017    source источник


Ответы (1)


Вы должны использовать правило PathPrefixStrip: /code (и только это правило). Он перехватывает все запросы на префикс пути /code, но удаляет его перед пересылкой на серверную часть.

См. также документацию по адресу https://docs.traefik.io/basics/#frontends. , в частности подраздел под названием Рекомендации по использованию Path Matcher.

person Timo Reimann    schedule 12.08.2017
comment
на самом деле существует несколько бэкэндов, ожидающих URL без /code .. пример: /code/rr в backend_rr только отправка /rr ; /code/kk в backend_kk отправляет только /kk ; - person shrw; 12.08.2017
comment
Я не уверен, что это возможно, но вы можете попробовать добавить модификатор ReplacePath в смесь. То есть попробуйте что-то вроде PathPrefixStrip: /code; ReplacePath: /rr. - person Timo Reimann; 13.08.2017
comment
Возможно также AddPrefix? На телефоне сейчас, поэтому протестировать/проверить не могу. - person Timo Reimann; 13.08.2017