Ваш надежный хостинг партнер

HAProxy - программа обеспечивающая высокую доступность и балансировку нагрузки для TCP-соединений и HTTP-приложений, благодаря распределению входящих запросов на несколько серверов.


Установка HAProxy

Сначала выполним обновление индексов пакетов

yum update -y
Затем добавим расширенный репозиторий
yum install epel-release
И наконец запустим процесс установки самой HAProxy
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

Скопировано