HAproxy — это серверное программное обеспечение для обеспечения высокой доступности и балансировки нагрузки для TCP- и HTTP-приложений посредством распределения входящих запросов на несколько обслуживающих серверов.
На начальной странице IIS переходим в пункт “Поддержка брандмауэра FTP” и выставляем диапазон портов для пассивных подключений, указываем IP адрес нашего сервера с HAproxy – Нажимаем “применить”:
и добавляем в конфигурацию строчки:
После чего перезапускаем службу HAproxy:
Для настройки отказоустойчивого FTP имеем настроенный сервер на Linux с установленной ролью HAproxy и два настроенных Windows Server с ролью IIS.
Публикация FTP на двух серверах
Добавляем FTP сайт на двух серверах с ролью IIS к одному и тому же физическому пути. Например: имеем два Windows Server 2019 с ролью IIS и файловый сервер с общим доступом к папке:- IP адреса: IIS1 – 10.15.59.13 и IIS2 – 10.15.59.14
Рисунок 1 – Добавление FTP сайта.
Администрирование Linux-серверов
Программа для оптимизации документооборота. С помощью «1С:Документооборот» можно построить единый электронный архив всех документов предприятия и работать с ними
Рисунок 2 – Поддержка брандмауэра FTP.
Настройка конфигурации HAproxy
На Linux сервере с ролью HAproxy открываем конфигурацию любым удобным редактором:nano /etc/HAproxy/HAproxy.cfg
frontend ftp_frontend
bind *:21
mode tcp
option tcplog
default_backend ftp_backend
backend ftp_backend
mode tcp
balance roundrobin # или другой балансировочный алгоритм
option tcplog
server ftp1 10.15.59.13:21 check
server ftp2 10.15.59.14:21 check backup
frontend ftp_data_frontend
bind *:50000-55000 # Порты для пассивного режима FTP
mode tcp
option tcplog
default_backend ftp_data_backend
backend ftp_data_backend
mode tcp
balance roundrobin
option tcplog
server ftp1_data 10.15.59.13 check port 21
server ftp2_data 10.15.59.14 check port 21 backup
systemctl restart haproxy.service
Теперь когда сервер IIS1 перестанет работать или перестанет быть доступным по порту 21, то автоматически будет осуществляется FTP-подключение на второй сервер IIS2
