Получение сайта Dockerised для работы за обратным прокси-сервером Traefik - PullRequest
5 голосов
/ 20 апреля 2019

У меня Traefik v1.7.6 установлен в качестве контейнера Docker, следуя инструкциям этого руководства .

Все отлично работает, и этот сайт доступен по адресу: https://proxy.hostname.com

Я хочу добавить контейнер UniFi Controller для запуска за этим обратным прокси, но мне нужна помощь с моей конфигурацией.

После этого урока я могу создать функциональный контейнер и получить доступ к этому сайту по адресу: https://unifi.hostname.com:8443

Порт 8443 - это собственный порт веб-управления, на котором работает UniFi, но мне нужна помощь.

Насколько я понимаю, я должен иметь доступ к этому сайту через Traefik по номеру https://unifi.hostname.com и быть направленным на соответствующий порт 8443 на внутренней стороне. Во-вторых, преимущество использования Let's Encrypt потеряно, поскольку он предоставляет сертификат только для поддоменов через порт 443.

Вот мой docker-compose.yml файл:

version: "3.6"
services:

  unifi:
    hostname: unifi
    image: linuxserver/unifi:latest
    restart: always
    container_name: "unifi"
    volumes:
      - /docker/unifi:/config
    ports:
      - target: 3478
        published: 3478
        protocol: udp
        mode: host
      - target: 10001
        published: 10001
        protocol: udp
        mode: host
      - target: 8080
        published: 8080
        protocol: tcp
        mode: host
      - target: 8081
        published: 8081
        protocol: tcp
        mode: host
      - target: 8443
        published: 8443
        protocol: tcp
        mode: host
      - target: 8880
        published: 8880
        protocol: tcp
        mode: host
      - target: 6789
        published: 6789
        protocol: tcp
        mode: host
    networks:
      - proxy
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    labels:
      - "traefik.enable=true"
      - "traefik.tags=frontend"
      - "traefik.frontend.passHostHeader=true"
      - "traefik.admin.backend=unifi"
      - "traefik.admin.frontend.rule=Host:unifi.hostname.com"
      - "traefik.admin.port=8443"
      - "traefik.admin.protocol=https"

networks:
  proxy:
    external: true

1 Ответ

4 голосов
/ 27 апреля 2019

Исходя из моего собственного опыта, проксирование UniFi Controller было проблематичным, поскольку он использует встроенный, самозаверяющий сертификат.Обычно вы должны указать прокси-серверу игнорировать недействительные сертификаты, когда он подключается к своему бэкэнду.

Я бы предложил, что вам нужна опция InsecureSkipVerify, которая должна быть включена в traefik.toml.

insecureSkipVerify: если задано значение true, недопустимые SSL-сертификаты принимаются для бэкэндов.Примечание. Это отключает обнаружение атак «человек посередине», поэтому его следует использовать только в защищенных внутренних сетях.- https://docs.traefik.io/configuration/commons/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...