Treafik路径路由

时间:2018-11-13 12:05:44

标签: docker docker-compose reverse-proxy traefik

我想在api.example.com/example下访问docker-compose服务。因此,我有以下docker-compose.yml

  example:
    image: example    
    labels:
            - "traefik.frontend.rule=Host:api.example.com;PathPrefixStrip:/example/"
            - "traefik.enable=true"
            - "traefik.protocol=http"
            - "traefik.frontend.entryPoints=https"

我可以在此路径下到达服务。但是页面中的所有链接都路由到错误的网址,例如api.example.com/link而不是api.example.com/example/link

此外,由于此路径问题,css无法正确加载。 要使该功能正常工作,正确的路径配置是什么?

从文档中读取,X-Forwarded-Prefix应该是解决方案,但是没有相关文档。

2 个答案:

答案 0 :(得分:0)

如果我的理解正确,您只希望将与api.example.com/example/*匹配的请求路由到此example服务。然后,您应该使用PathPrefix:/example/

您所期望的是:PathPrefixStrip,顾名思义,请尝试匹配路径,然后在将流量路由到服务之前将其删除。

答案 1 :(得分:0)

您是否尝试添加规则?

- "traefik.frontend.rule=Host:api.example.com;PathPrefixStrip:/example/; AddPrefix: /example"