【发布时间】:2018-10-17 10:11:03
【问题描述】:
我正在尝试使用文件后端配置 traefik 以联系 LXC 容器中的 grafana 服务器。
这是我的配置文件:
[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,当然是因为grafana 似乎使用相对url)。
如果您的后端侦听根路径 (/) 但应该可以在特定前缀上路由,请使用 *Strip 匹配器。例如,PathPrefixStrip: /products 将匹配 /products 但也匹配 /products/shoes 和 /products/shirts。 由于在转发之前路径已被剥离,因此您的后端应在 / 上进行侦听。 如果您的后端正在提供资产(例如,图像或 Javascript 文件),那么它很可能必须返回正确构建的相对 URL。 继续这个例子,后端应该返回 /products/shoes/image.png (而不是 Traefik 可能无法与同一后端关联的 /images.png)。 可以查询 X-Forwarded-Prefix 标头(自 Traefik 1.3 起可用)以动态构建此类 URL。
看来我必须使用 X-Forwarded-Prefix 标头,但我不知道如何使用它(我在文档中没有看到任何内容)。也许你能帮我解决这个问题?
问候
jmc
【问题讨论】:
标签: http-headers reverse-proxy grafana traefik