Traefik + Nextcloud приводит к плохому шлюзу - PullRequest
0 голосов
/ 16 мая 2018

У меня есть 3 службы и работает.Экземпляр mariadb & nextcloud:

version: '2.1'

volumes:
  nextcloud:
  db:

services:
  db:
    image: mariadb
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=my_root_password
      - MYSQL_PASSWORD=my_password
      - MYSQL_DATABASE=my_database
      - MYSQL_USER=my_user
  app:
    image: nextcloud
    restart: always
    networks:
      - web
      - default
    ports:
      - 9000
    labels:
      - "traefik.backend=app"
      - "traefik.docker.network=web"
      - "traefik.frontend.rule=Host:my_host"
      - "traefik.enable=true"
      - "traefik.port=9000"
      - "traefik.default.protocol=http"

networks:
  web:
    external: true

И служба traefik:

version: '2'

services:
  traefik:
    image: traefik:1.5.4
    restart: always
    ports:
      - 80:80
      - 443:443
    networks:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/traefik/traefik.toml:/traefik.toml
      - /opt/traefik/acme.json:/acme.json
    container_name: traefik

networks:
  web:
    external: true

Этот экземпляр traefik использует этот файл конфигурации:

debug = false

logLevel = "ERROR"
defaultEntryPoints = ["https","http"]

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

[retry]

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

[acme]
email = "my_email"
storage = "acme.json"
entryPoint = "https"
onHostRule = true
[acme.httpChallenge]
entryPoint = "http"

Теперь, когда яПерейти на мой хост, он перенаправляет на HTTPS, но затем он просто отображает bad gateway и ничего больше.Должно отображаться веб-приложение nextcloud.Кто-нибудь знает, почему это происходит?Я запускаю файлы композиции, используя команду docker-compose up -d.

1 Ответ

0 голосов
/ 20 мая 2019

Может быть, уже слишком поздно, но я тоже столкнулся с этой проблемой, поэтому отправил ответ на вопрос, который решил ее для меня.
Nextcloud предоставляет порт 80 на IP-адресе контейнера, к которому пытается подключиться Traefik. Таким образом, вы неправильно указали порт для метки 'traefik.port'. Измените его с 9000 на 80.

...