проблемы с запуском docker traefik v2.0 для использования самозаверяющего сертификата - PullRequest
0 голосов
/ 21 октября 2019

я пытаюсь запустить docker traefik v2.0 для использования самозаверяющих сертификатов

вот мой файл traefik.toml

logLevel = "DEBUG"
defaultEntryPoints = ["http", "https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]
    [[entryPoints.https.tls.certificates]]
    certFile = "/certs/server.crt"
    keyFile = "/certs/server.key"

и вот мой traefik.yaml docker-composeверсия файла: '3.5'

services:
  traefik:
    image: traefik:v2.0
    container_name: traefik
    restart: always
    networks:
      - traefik_network
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
      - ./certs:/certs/
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web.address=:80"

networks:
  traefik_network:
     name: traefik_network

сертификаты находятся в папке certs/server.crt и certs/server.key

, но когда я запускаю docker-compose для traefik, я получаю следующую ошибку

Attaching to traefik
traefik    | 2019/10/20 21:08:11 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:14 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:17 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:19 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:22 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:24 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:29 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:36 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:08:50 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:09:16 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:10:08 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:11:09 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:11:14 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:11:17 command traefik error: field not found, node: tls
traefik    | 2019/10/20 21:11:19 command traefik error: field not found, node: tls

Кто-нибудь знает, в чем проблема? спасибо

1 Ответ

0 голосов
/ 22 октября 2019

Согласно документации по миграции с Traefik v1 на v2 , конфигурация TLS больше не находится в точке входа, а вместо этого в конфигурации маршрутизатора:

Вы должны определить маршрутизатор(следуя документации по миграции, если вы все еще используете веб-интерфейсы / бэкэнды v1), которая будет выглядеть как

[http.routers]
  [http.routers.Router-1]
    rule = "Host(`bar.com`)"
    service = "service-id"
    [http.routers.Router-1.tls]
      options = "myTLSOptions"

    # will terminate the TLS request

, в которой вы можете использовать myTLSOptions в качестве ссылки на раздел параметров TLS, определенный следующим образом:

[tls.options]
  [tls.options.myTLSOptions]
    minVersion = "VersionTLS13"
    cipherSuites = [
        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
        ...
        ]
    ...

Расположение сертификатов находится в отдельной записи конфигурации:

[[tls.certificates]]
    certFile = "/certs/server.crt"
    keyFile = "/certs/server.key"

Обратите внимание, что вы также можете использовать другой формат для вашей конфигурации в v2: вы можете сделать больше, чем раньше, с помощью ярлыков докераи если вы предпочитаете, вы можете вместо этого перейти с toml на yaml.

...