Traefik версия 2 показывает только 404 или нет веб-сайта вообще - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь настроить Traefik в версии 2, но в моем браузере появляются только ошибки «404 Страница не найдена» или «DNS_PROBE_FINISHED_NXDOMAIN».

Когда я проверяю конечные точки API для маршрутизаторов, я вижу, что мои два контейнера включены в Traefik и что правила верны.

curl http://localhost:8080/api/http/routers

[{"entryPoints":["web","secure"],"service":"gotify-gotify","rule":"Host(`sub2.example.org`)","tls":{"certResolver":"letsencrypt"},"status":"enabled","using":["secure","web"],"name":"gotify@docker","provider":"docker"},{"entryPoints":["web","secure"],"service":"nextcloud-cloud","rule":"Host(`sub.example.org`)","tls":{"certResolver":"letsencrypt"},"status":"enabled","using":["secure","web"],"name":"nextcloud@docker","provider":"docker"}]

Но на "sub2" я не получаю веб-сайтвообще и на "саб" я получаю "404 страница не найдена".Я установил DNS-запись для «*», чтобы все субдомены переходили на один и тот же сервер.

Я установил следующие метки для докер-контейнеров

   labels:
      traefik.enable: true
      traefik.http.routers.nextcloud.rule: "Host(`sub.example.org`)"
      traefik.http.routers.nextcloud.entrypoints: "web, secure"
      traefik.http.routers.nextcloud.tls.certresolver: "letsencrypt"

И это моя конфигурация Traefik"traefik.toml"

[entryPoints]
  [entryPoints.web]
    address = ":80"
  [entryPoints.secure]
    address = ":443"

[providers.docker]
  exposedByDefault = false
  network = "traefik"

[certificatesResolvers.letsencrypt.acme]
  email = "me@example.org"
  storage = "acme.json"
  [certificatesResolvers.letsencrypt.acme.httpChallenge]
    entryPoint = "web"

[api]
  insecure = true
  debug = true
  dashboard = false

Сам Traefik работает как контейнер Docker.

version: "3.7"

services:
  traefik:
    image: traefik:v2.0
    container_name: traefik
    restart: unless-stopped
    volumes:
    - "./traefik.toml:/etc/traefik/traefik.toml"
    - "./acme:/etc/traefik/acme"
    - "/var/run/docker.sock:/var/run/docker.sock"
    ports:
    - "80:80"
    - "127.0.0.1:8080:8080"
    - "443:443"
    networks:
    - traefik

networks:
  traefik:
    driver: bridge
    name: traefik

Я использую "ufw" для управления правилами брандмауэра и открыл порт 22, 80 и 443

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
...