Traefik v2 和带路径的路由

Traefik v2 and routing with path

我试过这个:

version: "3.3"                                                                          
services:                                                                               
  traefik:                                                                              
    image: "traefik:latest"                                                             
    command:                                                                            
      - --api.insecure=true                                                             
      - --providers.docker=true                                                         
      - --providers.docker.exposedbydefault=false                                       
      - --api=true                                                                      
      - --api.dashboard=true                                                            
      - --entrypoints.web.address=:80                                                   
      - --log.filePath=/home/docker/traefik.log                                         
      - --log.level=DEBUG                                                               
    ports:                                                                              
      - "80:80"                                                                         
      - "8080:8080"                                                                     
    volumes:                                                                            
      - "/var/run/docker.sock:/var/run/docker.sock:ro"                                  

  whoami:                                                                               
    image: "containous/whoami"                                                          
    labels:                                                                             
      - "traefik.enable=true"                                                           
      - "traefik.http.routers.whoami.rule=Host(`whoami.traefik.kb`) && Path(`/who`)" 
      - "traefik.http.routers.whoami.entrypoints=web"                                   
      - "traefik.http.routers.whoami.service=whoami"                                    
      - "traefik.http.services.whoami.loadbalancer.server.port=80"                      
  nginx:                                                                                
    image: "nginx:alpine"                                                               
    labels:                                                                             
      - "traefik.enable=true"                                                           
      - "traefik.http.routers.nginx.rule=Host(`nginx.traefik.kb`) && Path(`/ng`)"       
      - "traefik.http.routers.nginx.entrypoints=web"                                    
      - "traefik.http.routers.nginx.service=nginx"                                      
      - "traefik.http.services.nginx.loadbalancer.server.port=80"                       
  nginx2:                                                                               
    image: "nginx:alpine"                                                               
    labels:                                                                             
      - "traefik.enable=true"                                                           
      - "traefik.http.routers.nginx2.rule=Host(`nginx2.traefik.kb`)"                    
      - "traefik.http.routers.nginx2.entrypoints=web"                                   
      - "traefik.http.routers.nginx2.service=nginx2"                                    
      - "traefik.http.services.nginx2.loadbalancer.server.port=80" 

我在 docker 群中使用这个堆栈。我的问题是当我尝试到达 nginx.traefik.kb/ng 时,我从 nginx 得到了 404。使用 whoami 图像和 url whoami.traefik.kb/who 我没有任何问题 nginx2.traefik.kb 都不是...

我只有这个配置文件,没有traefik.yml左右

有什么想法吗??谢谢!!

已解决!

添加这个:

  - "traefik.http.middlewares.nginx-prefix.stripprefix.prefixes=/ng"
  - "traefik.http.routers.nginx.middlewares=nginx-prefix"

有了这个我就不能去 http://example.com/ng 获取 nginx 运行