Traefik SSL Issue в версии 2.1.4 - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть docker роевая группа. В этом кластере мне нужно настроить Traefik с точкой входа SSL. как только я применил свою конфигурацию в traefik, он получает некоторую ошибку. Пожалуйста, помогите мне решить эту проблему.

Вот мой файл .toml,

logLevel = "INFO"

[docker]
  endpoint = "unix:///var/run/docker.sock"
  exposedbydefault = false

[api]
  dashboard =true

[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]
      [[entryPoints.https.tls.certificates]]
      certFile = "/root/ssl/mi-synergy.com.crt"
      keyFile = "/root/ssl/mi-synergy.com.key"

Вот мой файл стека

version: "3.7"
services:
  traefik:
    image: traefik:2.1.4
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /root/traefik.toml:/etc/traefik/traefik.toml
      - /root/ssl:/root/ssl
    networks:
      - webgateway
      - traefik
    ports:
      - 80:80
      - 443:443
      - 8080:8080
    deploy:
      mode: global
      placement:
        constraints:
          - node.role == manager
      update_config:
        parallelism: 1
        delay: 10s
      restart_policy:
        condition: on-failure

networks:
  webgateway:
    driver: overlay
  traefik:
    driver: overlay

Извлечение из журнала

traefik_traefik.0.yogfftkp2f2n@docker-01.mi-synergy.com    | 2020/02/25 14:29:58 command traefik error: field not found, node: redirect
traefik_traefik.0.2lqrvwlbyrki@docker-01.mi-synergy.com    | 2020/02/25 14:30:06 command traefik error: field not found, node: redirect
traefik_traefik.0.9xor5lo32n2i@docker-01.mi-synergy.com    | 2020/02/25 14:30:14 command traefik error: field not found, node: redirect
traefik_traefik.0.4j6uji7yubsp@docker-01.mi-synergy.com    | 2020/02/25 14:30:22 command traefik error: field not found, node: redirect
traefik_traefik.0.doe8mlbt0xrf@docker-01.mi-synergy.com    | 2020/02/25 14:30:30 command traefik error: field not found, node: redirect
traefik_traefik.0.qjc2kbmq73z3@docker-01.mi-synergy.com    | 2020/02/25 14:30:38 command traefik error: field not found, node: redirect
traefik_traefik.0.m7qlc2tbjosf@docker-01.mi-synergy.com    | 2020/02/25 14:30:46 command traefik error: field not found, node: redirect
traefik_traefik.0.tvlzvywq5fmg@docker-01.mi-synergy.com    | 2020/02/25 14:30:54 command traefik error: field not found, node: redirect
traefik_traefik.0.wed43nnm9k4i@docker-01.mi-synergy.com    | 2020/02/25 14:31:02 command traefik error: field not found, node: redirect
traefik_traefik.0.t8zirtsoxvrn@docker-01.mi-synergy.com    | 2020/02/25 14:31:09 command traefik error: field not found, node: redirect
traefik_traefik.0.pviswukpjspe@docker-01.mi-synergy.com    | 2020/02/25 14:31:17 command traefik error: field not found, node: redirect
traefik_traefik.0.pevarrjo9f2b@docker-01.mi-synergy.com    | 2020/02/25 14:31:25 command traefik error: field not found, node: redirect
traefik_traefik.0.rljmx5gqao2c@docker-01.mi-synergy.com    | 2020/02/25 14:31:33 command traefik error: field not found, node: redirect
traefik_traefik.0.5ewdb1htrliv@docker-01.mi-synergy.com    | 2020/02/25 14:31:41 command traefik error: field not found, node: redirect
traefik_traefik.0.9vwultfvcepk@docker-01.mi-synergy.com    | 2020/02/25 14:31:49 command traefik error: field not found, node: redirect
traefik_traefik.0.uungeb848jbr@docker-01.mi-synergy.com    | 2020/02/25 14:31:57 command traefik error: field not found, node: redirect
traefik_traefik.0.yafuy3fcy0jq@docker-01.mi-synergy.com    | 2020/02/25 14:32:05 command traefik error: field not found, node: redirect

1 Ответ

0 голосов
/ 26 февраля 2020

вы можете попробовать следующий docker стек

version: "3.7"
services:
  traefik:
    image: traefik:2.1.4
    command:
      - '--providers.docker=true'
      - '--providers.providersThrottleDuration=2s'
      - '--providers.docker.watch=true'
      - '--providers.docker.swarmMode=true'
      - '--providers.docker.swarmModeRefreshSeconds=15s'
      - '--providers.docker.exposedbydefault=false'
      - '--providers.docker.defaultRule=Host("${REPLACE_WITH_YOUR_DOMAIN}")'
      - '--accessLog.bufferingSize=0'
      - '--api=true'
      - '--api.dashboard=true'
      - '--api.insecure=true'
      - '--ping.entryPoint=web'
      - '--providers.file.filename=/run/traefik.toml'
      - '--entryPoints.web.address=:80'
      - '--entryPoints.websecure.address=:443'
    volumes:
      - '/var/run/docker.sock:/var/run/docker.sock:ro'
      - '/root/traefik.toml:/run/traefik.toml'
      - '/root/ssl:/root/ssl'
    networks:
      - webgateway
      - traefik
    ports:
      - 80:80
      - 443:443
      - 8080:8080
    deploy:
      labels:
        - traefik.enable=true
        - traefik.docker.network=traefik
        - traefik.http.middlewares.https_redirect.redirectscheme.scheme=https
        - traefik.http.middlewares.https_redirect.redirectscheme.permanent=true
        - traefik.http.routers.http_catchall.rule=HostRegexp(`{any:.+}`)
        - traefik.http.routers.http_catchall.entrypoints=web
        - traefik.http.routers.http_catchall.middlewares=https_redirect
      mode: global
      placement:
        constraints:
          - node.role == manager
      update_config:
        parallelism: 1
        delay: 10s
      restart_policy:
        condition: on-failure

networks:
  webgateway:
    driver: overlay
  traefik:
    driver: overlay

traefik.toml

[[tls.certificates]]
  certFile = "/root/ssl/mi-synergy.com.crt"
  keyFile = "/root/ssl/mi-synergy.com.key"

убедитесь, что сертификаты ssl существуют на хост-компьютере под /root/ssl и traefik файл конфигурации в /root/traefik.toml, в противном случае он не будет доступен для контейнера. если вы выполняете это в многоузловом рое, оно должно быть на всех узлах ( не только менеджер ), так как вы использовали режим глобального развертывания

...