Фронтенд слушает только корневой путь для некоторых контейнеров - PullRequest
0 голосов
/ 23 февраля 2019

Этот вопрос является обновлением для моего предыдущего вопроса ( Traefik не перенаправляет на нужный сервер для некоторых контейнеров ).Я создаю новый, когда обновляю базовый код:

У меня есть 2 контейнера: - portainer;- домашний помощник;Portainer работает должным образом, но homeassistant не маршрутизируется должным образом в бэкэнд, если я использую PathPrefixStrip matcher "/ hass".но это работает, когда я использую "PathPrefixStrep: /".Контейнер становится корневым путем прослушивания службы по умолчанию, который не предназначен.Я пытался перенаправить, но это не сработало.Версия Traefik: 1.7.9.Версия Docker: 18.09.2. Docker-compose: 1.23.2
Мой Docker-compose:

  portainer:
    image: portainer/portainer
    container_name: portainer
    domainname: ${DOMAINNAME}
    hostname: portainer
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ${USERDIR}/dockerha/uavportainer/data:/data
      - ${USERDIR}/dockerha/shared:/shared
    environment:
      - TZ=${TZ}
    networks:
      - ${NETWORK_NAME}
    labels:
      - "traefik.enable=false"

  homeassistant:
    image: homeassistant/home-assistant
    container_name: homeassistant
    domainname: ${DOMAINNAME}
    hostname: homeassistant
    volumes:
      - ${USERDIR}/dockerha/uavha:/config
      - /etc/localtime:/etc/localtime:ro
      - ${USERDIR}/dockerha/shared:/shared
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
      - TZ=${TZ}
    networks:
      - ${NETWORK_NAME}
    labels:
      - "traefik.enable=false"

Я использую Файл, предоставляющий отдельный файл Rules.toml

# rules.toml
[frontends]
  [frontends.portainer]
  entrypoints = ["http"]
  backend = "portainer"
  passHostHeader = true
    [frontends.portainer.routes.route_1]
    rule = "Host: 192.168.56.102; PathPrefixStrip: /portainer"

[backends]
  [backends.portainer]
    [backend.portainer.servers]
      [backends.portainer.servers.server1]
      url = "http://portainer:9000"
      weight = 2
    [backends.portainer.loadBalancer]
      method = "drr"

  [frontends.hass]
  entrypoints = ["http"]
  backend = "hass"
  passHostHeader = true
    [frontends.hass.routes.route_1]
    rule = "Host: 192.168.56.102; PathPrefixStrip: /hass"

  [backends.hass]
    [backend.hass.servers]
      [backends.hass.servers.server1]
      url = "http://homeassistant:8123"
      weight = 2
    [backends.hass.loadBalancer]
      method = "drr"

Заранее спасибо за поддержку.

...