简单的Traefik反向代理配置

时间:2020-02-18 10:32:39

标签: traefik

我正在使用以下配置启动Traefik版本2.1.4:

defaultEntryPoints:
  - http

entryPoints:
  hole-1:
    address: ':663'

frontends:
  hole-frontend-1:
    backend: hole-backend-1
    entrypoints:
      - hole-1

backends:
  hole-backend-1:
    servers:
      hole-server-1:
        url: 'http://11.23.24.1:3000'
        weight: 10

当我点击http://11.23.24.1:663时,我会遇到Traefik页面404 pages not found。当我在浏览器中转到http://11.23.24.1:3000时,它可以工作,并显示该页面。

我似乎无法弄清楚如何在Traefik中设置反向代理以将http://11.23.24.1:663指向http://11.23.24.1:3000

我尝试了这个,但是我得到了错误

2020/02/18 11:39:43命令traefik.exe错误:在文件C:\ config \ traefik.yaml中找不到有效的配置

http:
  routers:
    hole-router-1:
      rule: "Host(`11.23.24.1`) && PathPrefix(`/`)"
      service: hole-service

services:
  hole-service:
    loadBalancer:
      servers:
        - url: http://11.23.24.1:3000

2 个答案:

答案 0 :(得分:0)

Traefik 2.1不支持前端和后端。 该存储库提供了一些示例来部署Traefik 2.1 https://github.com/wshihadeh/traefik_v2

使用Docker进行操作的示例:

version: '3.7'

networks:
  traefik:
    external: true

volumes:
  db_data:

services:

  proxy:
    image: traefik:v2.1
    command:
      - '--providers.docker=true'
      - '--entryPoints.http.address=:80'
      - '--providers.providersThrottleDuration=2s'
      - '--providers.docker.watch=true'
      - '--providers.docker.exposedbydefault=false'
      - '--providers.docker.defaultRule=Host("local.me")'
      - '--accessLog.bufferingSize=0'
    volumes:
      - '/var/run/docker.sock:/var/run/docker.sock:ro'
    ports:
      - '663:80'
    deploy:
      restart_policy:
        condition: any
        delay: 5s
        max_attempts: 3
        window: 120s
      update_config:
        delay: 10s
        order: start-first
        parallelism: 1
      rollback_config:
        parallelism: 0
        order: stop-first
    logging:
      driver: json-file
      options:
        'max-size': '10m'
        'max-file': '5'
    networks:
      - traefik

   hole-backend:
    image:  hole-backend:demo-v1
    command: 'web'
    deploy:
      labels:
        - traefik.enable=true
        - traefik.http.services.hole.loadbalancer.server.port=8080
        - traefik.http.routers.hole.rule=Host(`hole.local.me`)
        - traefik.http.routers.hole.service=blog
        - traefik.http.routers.hole.entrypoints=web
        - traefik.docker.network=traefik
      restart_policy:
        condition: any
        delay: 5s
        max_attempts: 3
        window: 120s
      update_config:
        delay: 10s
        order: start-first
        parallelism: 1
      rollback_config:
        parallelism: 0
        order: stop-first
    logging:
      driver: json-file
      options:
        'max-size': '10m'
        'max-file': '5'
    networks:
      - traefik

答案 1 :(得分:-1)

C:\config\traefik\traefik.yaml

entryPoints:
  hole-1:
    address: ":661"

providers:
  file:
    filename: C:\config\traefik\dynamic.yaml

C:\config\traefik\dynamic.yaml

http:
  routers:
    hole-router-1:
      rule: "Path(`/`)"
      entryPoints:
        - hole-1
      service: hole-service

  services:
    hole-service:
      loadBalancer:
        servers:
          - url: http://10.23.24.10:3000

我以traefik.exe --configFile=C:/config/traefik/traefik.yaml

开始了Traefik