traefik - 简单修改URL

ash*_*ngh 0 traefik

我想修改 URL 的端点,同时它从 traefik 到我的容器之一。我想要的是这个。
我的 URL 看起来像这样 - http://backend/asd 它应该指向我的具有不同端点的容器之一,如下所示 - http://asd/dfg
我尝试过的 -

  asd:
    image: asd
    container_name: "asd"
    labels:
      - "traefik.backend=asd"
      - "traefik.frontend.rule=Host:backend;PathPrefixStrip:/asd,PathPrefix:/dfg"
      - "traefik.frontend.entryPoints=http"
      - "traefik.enable=true"
      - "traefik.port=80"
Run Code Online (Sandbox Code Playgroud)

但这没有用。欢迎任何建议。
问候,
阿舒托什

Mar*_*lte 5

您是否在 docker-compose 中包含Traefik -docker-image ,就像这样?

traefik:
  image: traefik
  ports:
    - 8080:80
  volumes:
    - /var/run/docker.sock:/var/run/docker.sock
  command:
    - "--docker"
Run Code Online (Sandbox Code Playgroud)

对于路径替换“/asd”->“/dfg”,Traefik 的ReplacePath-modifier应该可以解决问题。以下 docker-label 是唯一的,您将需要:

labels:
  - "traefik.frontend.rule=Path: /asd; ReplacePath: /dfg"
Run Code Online (Sandbox Code Playgroud)

有了这个设置,做

curl http://localhost:8080/asd
Run Code Online (Sandbox Code Playgroud)

应该从路径“/dfg”上的“asd”容器返回 HTTP 响应