使用traefik v2使用docker转发url

问题描述 投票:0回答:1

[我想使用traefik(版本2)转发url,例如如果我击中URL http://localhost/1,则将其转发到http://localhost:8081/1

我已经尝试了几种配置,但没有一种有效。请找到我已经完成的以下配置,但是没有用。

version: "3.3"

services:
  traefik:
    image: "traefik:v2.0.0-rc3"
    container_name: "traefik"
    command:
      - "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
      - "8081:8081"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  whoami:
    #image: "containous/whoami"
    #container_name: "simple-service"
    #command:
    #  - "--port=8081"
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.whoami.rule=Host(`localhost`)"
      - "traefik.http.routers.whoami.entrypoints=web"
      - "traefik.http.services.whoami.loadbalancer.server.port=8081" 
docker docker-compose traefik
1个回答
0
投票

根据我对您的问题的理解,您想将路径/1转发到localhost:8081/1。在这种情况下,您可以将Host规则与Path规则一起使用。

所以标签应该是

- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`localhost`) && Path(`/1`)"
- "traefik.http.routers.whoami.entrypoints=web"
- "traefik.http.services.whoami.loadbalancer.server.port=8081" 
© www.soinside.com 2019 - 2024. All rights reserved.