小编Pau*_*ney的帖子

Traefik docker 配置基于路径的路由重写

traefik 的 2 天新手,需要帮助了解 traefik v2 中的 istm 是基本的第一个 docker 提供程序配置...

我尝试搜索文档,但只是不知道如何做我想要的事情。

我想要像这样的 docker 容器

  • 应用程序1
  • 应用程序2
  • 应用程序3

并通过 traefik 通过 url 访问这些内容

  • http://app.mydomain.com/app1
  • http://app.mydomain.com/app2
  • http://app.mydomain.com/app3

但是,应用程序本身不喜欢这些额外的路径,因此我想从访问路径中删除前缀,以便应用程序看不到它们。

如果我访问,http://app.mydomain.com/app2/foo我希望容器app2接收请求http://{container.ip.addr}}/foo

作为重现,我知道部分有效的配置在我的 traefik 中具有以下内容docker-compose.yml

version: "3"
services:
  traefik:
    image: "traefik:v2.5.4"
    command:
      - --entrypoints.web.address=:80
      - --providers.docker=true
      - --api
      - --api.insecure=true
      - --api.dashboard=true
      - --providers.file.directory=/etc/traefik/dynamic
      - --providers.docker.defaultRule=Host(`app.mydomain.com`) && PathPrefix(`/{{ index .Labels "com.docker.compose.service" }}`)
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  app1:
    image: containous/whoami:v1.3.0
  app2:
    image: containous/whoami:v1.3.0
  app3: …
Run Code Online (Sandbox Code Playgroud)

docker traefik

1
推荐指数
1
解决办法
1335
查看次数

标签 统计

docker ×1

traefik ×1