HAProxy - программа обеспечивающая высокую доступность и балансировку нагрузки для TCP-соединений и HTTP-приложений, благодаря распределению входящих запросов на несколько серверов.
Установка HAProxy
Сначала выполним обновление индексов пакетов
yum update -y
yum install epel-release
yum install haproxy
Файл конфигурации HAProxy
После установки необходимо наполнить конфигурационный файл /etc/haproxy/haproxy.cfg
Открываем файл для редактирования:
nano /etc/haproxy/haproxy.cfg
frontend http_front bind *:80 default_backend http_back frontend https_front bind *:443 default_backend https_back backend http_back balance roundrobin server http_1 10.90.20.4:80 check weight 80 server http_2 10.90.20.5:80 check weight 20 backend https_back balance roundrobin server https_1 10.90.20.4:443 check weight 80 server https_2 10.90.20.5:443 check weight 20 #==========================RDP session frontend rdp_front bind *:3389 mode tcp default_backend rdp_back backend rdp_back mode tcp option tcpka balance leastconn tcp-request inspect-delay 5s tcp-request content accept if RDP_COOKIE persist rdp-cookie stick-table type string len 32 size 10k expire 8h stick on rdp_cookie(mstshash) option tcp-check server rdp_1 10.90.20.4:3389 check server rdp_2 10.90.20.5:3389 check
Описание внесенных данных в конфигурационный файл
У каждого проксируемого протокола два блока, frontend и backend.
В блоке frontend:
1) указываем переменной "bind *:" какой порт будет прослушивать HAProxy
2) переменная "default_backend" указывает на какой "backend" будет перенаправлять полученный трафик - важно, какое название бэкенда указано в переменной "default_backend", точно такое же должно быть и у самого блока "backend".
В блоке backend:
1) указываем переменной "balance" тип балансировки
2) параметром "server" указываем название сервера и IP:Prot, переменная "check" нужна для того, что бы перед тем как перенаправить на данный сервер трафик HAProxy проверила его доступность.
Проверка конфигурационного файла
После внесения изменений в конфигурационный файл выполните его проверку на наличие ошибок командой:
haproxy -c -f /etc/haproxy/haproxy.cfg
Если в результате выполнения команды Вы не получили ошибок, то для начала работы Вам осталось только перезапустить службу HAProxy, что бы изменения в конфигурационном файле вступили в силу:
service haproxy restart