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

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

докер пс:

    CONTAINER ID   IMAGE          COMMAND                  CREATED              STATUS              PORTS                NAMES
f6fa17dbd444   ebdc86ff4850   "docker-entrypoint.s…"   About a minute ago   Up About a minute   80/tcp               server_container
32ebf717e9de   8657ad512e31   "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp               client_container
bc3f94b668cd   bd8334ffaaad   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:80->80/tcp   proxy_container

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

global
    daemon
    maxconn 2000
    stats   socket /var/run/haproxy.sock mode 777

resolvers docker
    nameserver dns "${DNS_TCP_ADDR}:${DNS_TCP_PORT}" #127.0.0.11:53

defaults
    mode        http
    option      dontlognull
    option      forwardfor
    option      httpclose
    option      httplog
    retries     3
    timeout     check    5s
    timeout     client   5s
    timeout     connect  10s
    timeout     server   10s

frontend main
    bind *:80
    mode http
    option http-server-close
    option forceclose

    timeout client 60s
    timeout connect 10s
    timeout server 1m

    acl url_ui path_beg /home
    acl url_api path_beg /api
    use_backend ui if url_ui
    use_backend api if url_api

    #deafult_backend ui

backend api
    # mode http
    # server api server_container
    server api server_container.appnet:80 check resolvers docker resolve-prefer ipv4

backend ui
    # mode http
    # server client client_container
    server client client_container.appnet:80 check resolvers docker resolve-prefer ipv4

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

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

докер

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *