Am containerul meu haproxy numit „proxy_container” care rulează pe portul 80 pe localhost. Cu alte două containere numite „client_container”, care este doar un fișier html și „server_container”, care este o API de bază nodejs pe care am scris-o. Toate conectate la o singură rețea docker numită „appnet”.
docker ps:
CONTAINER ID IMAGINE COMANDA CREAȚĂ STAREA PORTURI NUMELE
f6fa17dbd444 ebdc86ff4850 "docker-entrypoint.sâ¦" Acum aproximativ un minut Sus Aproximativ un minut 80/tcp server_container
32ebf717e9de 8657ad512e31 "/docker-entrypoint.â¦" Acum aproximativ un minut Sus Aproximativ un minut 80/tcp client_container
bc3f94b668cd bd8334ffaaad "docker-entrypoint.sâ¦" Acum aproximativ un minut Sus Aproximativ un minut 0.0.0.0:80->80/tcp proxy_container
Iată fișierul meu haproxy.cfg:
global
demonul
maxconn 2000
socket statistici /var/run/haproxy.modul sock 777
rezolutori docker
nameserver dns „${DNS_TCP_ADDR}:${DNS_TCP_PORT}” #127.0.0.11:53
implicite
modul http
opțiunea dontlognull
opțiune forwardfor
opțiunea httpclose
opțiunea httplog
reîncercări 3
verificare timeout 5s
timeout client 5s
timeout connect 10s
timeout server 10s
principalul frontend
lega *:80
modul http
opțiunea http-server-close
opțiune forceclose
timeout client 60s
timeout connect 10s
server timeout 1m
acl url_ui path_beg /home
acl url_api calea_beg /api
use_backend ui dacă url_ui
use_backend api dacă url_api
#deafult_backend ui
API de backend
# modul http
# server api server_container
server api server_container.appnet:80 verifica soluții docker resolve-prefer ipv4
ui backend
# modul http
# server client client_container
server client client_container.appnet:80 verifica soluții docker resolve-prefer ipv4
The default_backend ui linia pe care am comentat-o a funcționat bine când am tastat 0.0.0.0/ în browserul meu. Vreau să-mi schimb configurația, astfel încât 0.0.0.0/home să mă direcționeze către backend „ui”, iar 0.0.0.0/api să mă direcționeze către backend „api”.
Întrebare secundară: pentru calea api, cum ar funcționa căile mele nodejs api alături de aceste configurații pe care le doresc?