HAProxy разделяет конфиг на frontend (что слушаем) и backend (куда шлём), в отличие от nginx, где всё описывается блоками server/location вперемешку. Такое разделение упрощает ACL — правила маршрутизации по пути, хосту или заголовку живут отдельно от списка бэкендов.
frontend web
bind *:80
acl is_api path_beg /api
use_backend api_servers if is_api
default_backend web_servers
backend web_servers
option httpchk GET /health
server web1 10.0.0.1:8080 check
server web2 10.0.0.2:8080 check
option httpchk шлёт GET на /health, упавший чек убирает узел из ротации без перезапуска HAProxy. check в строке server включает мониторинг — без него трафик слепо идёт и на мёртвый бэкенд.
#nginx #haproxy #linux
