【问题标题】:how to configure 2 endpoints via traefik PathPrefix如何通过 traefik PathPrefix 配置 2 个端点
【发布时间】:2020-06-01 14:53:03
【问题描述】:

我尝试使用带有 2 个端点的 traefik 2

toto.xxx/tata

toto.xxx/titi

但是任何端点都可以工作。

我的 docker-compose 是

version: "3.7"
services:
traefik:
image: traefik:v2.2
restart: unless-stopped
environment:
  - DUCKDNS_TOKEN=${DUCKDNS_TOKEN}
ports:
  - 80:80
  - 444:443
volumes:
  - /var/run/docker.sock:/var/run/docker.sock
  - ${TRAEFIK_ACME}/acme.json:/etc/traefik/acme.json
  - ${TRAEFIK_CONFIG}/traefik.yaml:/etc/traefik/traefik.yaml:ro
  - ${TRAEFIK_LOG}:/etc/traefik/traefik_log
labels:
  # General
  - "traefik.enable=true"
  # Traefik internal rules
  - "traefik.http.routers.traefik.service=api@internal"
  # hostname
  - "traefik.http.routers.traefik.rule=Host(`ubuntu.local`) && PathPrefix(`/traefik`)"
  # Authentication
  # - "traefik.http.middlewares.traefik-auth.basicauth.users=USER:PASSWORD"
  # - "traefik.http.routers.traefik.middlewares=traefik-auth"
  # HTTPS
  - "traefik.http.routers.traefik.tls=true"
  - "traefik.http.routers.traefik.entrypoints=websecure"
  - "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
  # Internal port
  - "traefik.http.services.traefik.loadbalancer.server.port=8080"
  # Prefixes
  - "traefik.http.middlewares.prefix-traefik.stripprefix.prefixes=/traefik"
  - "traefik.http.middlewares.traefik.stripprefix.forceslash=true"
  - "traefik.http.routers.traefik.middlewares=prefix-traefik@docker"

有人有什么想法吗?

谢谢

【问题讨论】:

    标签: traefik


    【解决方案1】:

    我没有从您分享的 sn-p 中看到您是如何尝试使用这些端点配置 traeifk 的。你能补充更多信息吗?

    如果您尝试将流量代理到代理后面的其他服务,则需要使用所需的路由器规则在这些服务上设置标签。下面是一个这样做的例子

     proxy:
        image: traefik:v2.2
        command:
          - '--log.level=DEBUG'
          - '--providers.docker=true'
          - '--entryPoints.web.address=:80'
          - '--providers.providersThrottleDuration=2s'
          - '--providers.docker.watch=true'
          - '--providers.docker.swarmMode=true'
          - '--providers.docker.swarmModeRefreshSeconds=15s'
          - '--providers.docker.exposedbydefault=false'
          - '--providers.docker.defaultRule=Host("lvh.me")'
          - '--accessLog.bufferingSize=0'
          - '--api=true'
          - '--api.dashboard=true'
          - '--api.insecure=true'
          - '--ping.entryPoint=web'
          - '--providers.redis.endpoints=redis:6379'
          - '--providers.redis.rootkey=traefik'
        volumes:
          - '/var/run/docker.sock:/var/run/docker.sock:ro'
        ports:
          - '80:80'
          - '8080:8080'
        deploy:
          labels:
            - traefik.enable=true
            - traefik.docker.network=traefik
        networks:
          - traefik
    
      mailcatcher:
        image: sj26/mailcatcher
        deploy:
          labels:
            - traefik.enable=true
            - traefik.tags=public
            - traefik.http.services.mailcatcher.loadbalancer.server.port=1080
            - traefik.http.routers.mailcatcher.rule=Host(`lvh.me`) &&  PathPrefix(`/mailcatcher`)
            - traefik.http.routers.mailcatcher.service=mailcatcher
            - traefik.http.routers.mailcatcher.entrypoints=web
            - traefik.docker.network=traefik
        logging:
          driver: json-file
          options:
            'max-size': '10m'
            'max-file': '5'
        networks:
          - traefik
    

    【讨论】:

      猜你喜欢
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多