Трафик Маршрутизация на основе пути - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть два бэкэнда, которые я хочу обслуживать с одного хоста.Один из host.domain.com, а другой из host.domain.com/path.Первое правило внешнего интерфейса простое: Host:host.domain.com.

Второе доставляет мне некоторые неприятности.На основании документации я считаю, что я должен использовать Host:host.domain.com;PathPrefixStrip:/path.Это возвращает 200 на host.domain.com/path, но когда я щелкаю ссылку на somepage.html, он отправляет меня на host.domain.com/somepage.html, поэтому он возвращает 404. Если я перехожу непосредственно на хостДоменневерная интерпретация документации или это вообще не проблема с Traefik?

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Вы должны использовать PathPrefix вместо PathPrefixStrip.Правила Strip удаляют путь перед его представлением бэкэнду.

Поскольку путь удаляется перед пересылкой, ожидается, что ваш бэкэнд будет прослушивать /.

0 голосов
/ 13 декабря 2018

Это на самом деле не относится к traefik, у любого обратного прокси на основе виртуального пути, который не переписывает содержимое возвращаемой веб-страницы (и немногие делают это), возникают проблемы, когда содержимое этой веб-страницы имеет абсолютные пути.Веб-страница должна либо знать о "/ пути" и изменять все ссылки, которые она вам дает, либо использовать относительные ссылки без начального "/".Это должно быть исправлено на вашем веб-сайте, в веб-приложении или, возможно, в конфигурации веб-приложения.В зависимости от приложения после его перенастройки может потребоваться настроить правило traefik на «PathPrefix» вместо «PathPrefixStrip».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...