Я пытаюсь настроить traefik с файловым бэкендом для связи с сервером grafana в контейнере LXC.
Это мой файл конфигурации:
[file]
# rules
[backends]
[backends.backend2.servers.server1]
url = "http://192.168.255.250:3000"
[frontends]
[frontends.frontend2]
entryPoints = ["http"]
backend = "backend2"
passHostHeader = true
[frontends.frontend2.routes]
[frontends.frontend2.routes.route0]
rule = "PathPrefixStrip: /grafana"
Бэкэнд Grafana прослушивает /
Итак, я могу связаться с http://example.com/grafana, но у меня есть перенаправление на http://example.com/login, которое не работает.Но http://example.com/grafana/login отвечает (без css, конечно, потому что графана, кажется, использует относительный URL).
Согласно документации :
Используйте* Strip matcher, если ваш бэкэнд прослушивает корневой путь (/), но должен маршрутизироваться по определенному префиксу.Например, PathPrefixStrip: / products будет соответствовать / products, а также / products / shoes и / products / shirts.Поскольку путь перед пересылкой удаляется, ожидается, что ваш бэкэнд будет прослушивать /.Если ваш бэкэнд обслуживает ресурсы (например, изображения или файлы Javascript), скорее всего, он должен возвращать правильно сконструированные относительные URL-адреса.Продолжая этот пример, бэкэнд должен возвращать /products/shoes/image.png (а не /images.png, который Traefik, скорее всего, не сможет связать с тем же бэкендом).Заголовок X-Forwarded-Prefix (доступный начиная с Traefik 1.3) можно запросить для динамического создания таких URL.
Кажется, мне нужно использовать заголовок X-Forwarded-Prefix, но я не знаюкак это использовать (я ничего не видел в документации).Может быть, вы можете помочь мне решить эту проблему?
С уважением
JMC