Рейтинг:0

HA-Proxy — пытаюсь создать разные пути для моих док-контейнеров, но работает только default_backend

флаг us
Ray

У меня есть контейнер haproxy под названием «proxy_container», работающий на порту 80 на моем локальном хосте. С двумя другими контейнерами под названием «client_container», который представляет собой просто html-файл, и «server_container», который представляет собой базовый API-интерфейс nodejs, который я написал. Все они подключены к одной сети докеров под названием «appnet».

докер пс:

    ИДЕНТИФИКАТОР КОНТЕЙНЕРА ИЗОБРАЖЕНИЕ КОМАНДА СОЗДАНА СТАТУС ИМЕНА ПОРТОВ
f6fa17dbd444 ebdc86ff4850 "docker-entrypoint.s™" Около минуты назад Наверх Около минуты 80/tcp server_container
32ebf717e9de 8657ad512e31 "/docker-entrypoint.…" Около минуты назад Наверх Около минуты 80/tcp client_container
bc3f94b668cd bd8334ffaaad "docker-entrypoint.s…" Около минуты назад Наверх Около минуты 0.0.0.0:80->80/tcp proxy_container

Вот мой файл haproxy.cfg:

Глобальный
    демон
    максконн 2000
    сокет статистики /var/run/haproxy.sock режим 777

докер распознавателей
    DNS сервера имен "${DNS_TCP_ADDR}:${DNS_TCP_PORT}" #127.0.0.11:53

значения по умолчанию
    режим http
    опция
    опцион вперед для
    опция httpclose
    опция httplog
    повторяет 3
    проверка таймаута 5с
    тайм-аут клиента 5s
    тайм-аут соединения 10 сек.
    тайм-аут сервера 10 секунд

главный интерфейс
    привязать *:80
    режим http
    опция http-server-close
    опцион принудительно закрыть

    таймаут клиента 60s
    тайм-аут соединения 10 сек.
    таймаут сервера 1м

    acl url_ui path_beg /home
    acl url_api path_beg /api
    use_backend пользовательский интерфейс, если url_ui
    use_backend API, если url_api

    #deafult_backend пользовательский интерфейс

серверный API
    # режим http
    # API сервера server_container
    API-интерфейс сервера server_container.appnet:80 проверить распознаватели докеров разрешить-предпочесть ipv4

серверный пользовательский интерфейс
    # режим http
    # сервер клиент client_container
    сервер-клиент client_container.appnet:80 проверить распознаватели докер-решение-предпочесть ipv4

default_backend пользовательский интерфейс строка, которую я закомментировал, отлично работала при вводе 0.0.0.0/ в моем браузере. Я хочу изменить свою конфигурацию, чтобы 0.0.0.0/home направлял меня на бэкэнд «ui», а 0.0.0.0/api направлял меня на бэкэнд «api».

Дополнительный вопрос: для пути API, как мои пути API nodejs будут работать вместе с этими конфигурациями, которые я хочу?

флаг us
Ray
Я понимаю, что закомментированная строка является опечаткой, однако она была напечатана правильно, когда я ее запускал.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.