Traefik - не могу показать панель инструментов - PullRequest
0 голосов
/ 26 января 2019

Перенаправление Treafik работает как шарм!

Как настроить панель инструментов Traefik , которая будет отображаться?

У меня есть запись «A», указывающая на мой домен, и «монитор» CNAME reocrd, указывающий на тот же домен. Это правильно?

Моей первой попыткой был файл docker-compose.yml. Он также содержит приложение Spring Boot, которое прослушивает 8080:

version: '3'
services:
  traefik:
    image: traefik:latest
    container_name: traefik
    command: --api --docker
    restart: always
    networks:
      - geosolutionsnet
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/ec2-user/traefik/traefik.toml:/traefik.toml
      - /home/ec2-user/traefik/acme.json:/acme.json
    ports:
      - "80:80"
      - "443:443"
    labels:
      - "traefik.docker.network=geosolutionsnet"
      - "traefik.enable=true"
      - "traefik.frontend.rule=Host:monitor.xyz.nl"
      - "traefik.port=8080"
      - "traefik.protocol=http"
      #- "traefik.frontend.headers.STSSeconds=15768000"

В браузере я указал на monitor.xyz.nl, но получил 404.

Моя вторая попытка была с:

- "traefik.frontend.rule=Host:xyz.nl;Path:/monitor"

Указав моему браузеру xyz.nl/monitor ... снова выдал 404.

Мой файл traefik.toml:

defaultEntryPoints = ["http", "https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
    address = ":443"
    [entryPoints.https.tls]

[docker]
  endpoint = "unix:///var/run/docker.sock"
  domain = "xyz.nl"
  watch = true
  exposedByDefault = false

[acme]
  email = "jj@xyz.nl"
  storage = "acme.json"
  onHostRule = true
  entryPoint = "https"
  onDemand = false
  [acme.tlsChallenge]

UPDATE : Использование CNAME 'traefik', сопоставленного с доменом 'xyz.nl/traefik', приводит к ошибке 404.

Используя CNAME 'monitor', указывающий на домен (A-запись), я получаю тот же результат. Я думаю, что это нормально, потому что я настроил соответствие хоста через префикс пути.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

В композиции Docker я добавил в порт детали traefik 8080: 8080.

Затем, панель инструментов Traefik была показана при переходе к порту 8080. Важным является навигация через 'http' и NOT 'https'.

Следующим улучшением является использование HTTPS, чтобы недружелюбные люди не могли посетить панель инструментов Traefik.

0 голосов
/ 29 января 2019

docker-compose.yml

services:
  traefik:
    image: traefik:latest
    container_name: traefik
    restart: always
    networks:
      - geosolutionsnet
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /home/ec2-user/traefik/traefik.toml:/traefik.toml
      - /home/ec2-user/traefik/acme.json:/acme.json
    ports:
      - "80:80"
      - "443:443"
    labels:
      - "traefik.docker.network=geosolutionsnet"
      - "traefik.enable=true"
      - "traefik.frontend.rule=Host:xyz.nl;PathPrefix:/monitor" # <----
      - "traefik.port=8080"

treafik.toml

defaultEntryPoints = ["http", "https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
    address = ":443"
    [entryPoints.https.tls]

[api]

[docker]
  domain = "xyz.nl"
  exposedByDefault = false

[acme]
  email = "jj@xyz.nl"
  storage = "acme.json"
  onHostRule = true
  entryPoint = "https"
  onDemand = false
  [acme.tlsChallenge]

Я рекомендую не смешивать аргументы CLI и TOML для одного раздела (например: --docker и [docker])

...