Traefik重写路径
Traefik rewrite path
我在 my.host.com/foo/bar/docpath
上有一份文档,我希望它在 url my.host.com/docpath
上可用。我所有的 Traefik 配置都在 docker-compose 文件中。
这是我服务容器中的配置:
labels:
traefik.enable: "true"
traefik.http.routers.myservice.entrypoints: secure
traefik.http.routers.myservice.middlewares: rewritepath
traefik.http.routers.myservice.rule: "Host(`my.host.com`) && Path(`/docpath`)"
在 Traefik 的容器标签中:
labels:
traefik.http.middlewares.rewritepath.addprefix.prefix: /foo/bar
问题:当我请求 my.host.com/docpath
时,出现 404 错误。我做错了什么?
(假定我使用简单规则正确访问 my.host.com/foo/bar/docpath
:“Host(`my.host.com`)”并且没有中间件)
我对traefik的理解是,中间件是按照规则调用的
试试这个。
- "traefik.http.routers.myservice.rule: "Host(`my.host.com`) && Path(`/docpath`)"
- "traefik.http.routers.myservice.middlewares=rewritepath"
- "traefik.http.middlewares.rewritepath.addprefix.prefix=/foo/bar"
我在 my.host.com/foo/bar/docpath
上有一份文档,我希望它在 url my.host.com/docpath
上可用。我所有的 Traefik 配置都在 docker-compose 文件中。
这是我服务容器中的配置:
labels:
traefik.enable: "true"
traefik.http.routers.myservice.entrypoints: secure
traefik.http.routers.myservice.middlewares: rewritepath
traefik.http.routers.myservice.rule: "Host(`my.host.com`) && Path(`/docpath`)"
在 Traefik 的容器标签中:
labels:
traefik.http.middlewares.rewritepath.addprefix.prefix: /foo/bar
问题:当我请求 my.host.com/docpath
时,出现 404 错误。我做错了什么?
(假定我使用简单规则正确访问 my.host.com/foo/bar/docpath
:“Host(`my.host.com`)”并且没有中间件)
我对traefik的理解是,中间件是按照规则调用的
试试这个。
- "traefik.http.routers.myservice.rule: "Host(`my.host.com`) && Path(`/docpath`)"
- "traefik.http.routers.myservice.middlewares=rewritepath"
- "traefik.http.middlewares.rewritepath.addprefix.prefix=/foo/bar"