Подсистема балансировки нагрузки автоматически добавляет маршруты для каждого пути в таблицу маршрутизации и балансирует трафик между настроенными интерфейсами в зависимости от работоспособности и веса интерфейса.
Минимально необходимая конфигурация для балансировки WAN-интерфейса должна включать в себя следующие элементы:
требуется добавить как минимум один сетевой интерфейс маршрутизатора с заданным адресом и адресом следующего узла;
необходимо добавить хотя бы одно правило с балансируемыми интерфейсами.
Предупреждение
Балансировка нагрузки не используется совместно с динамической маршрутизацией. Сервис создаёт настраиваемые таблицы маршрутизации и правила брандмауэра, что делает его несовместимым с протоколами динамической маршрутизации.
Для настройки балансировочной нагрузки необходимо перейти в раздел «Балансировка нагрузки на WAN-интерфейсах» («Настройка интерфейсов» - «Балансировка нагрузки на WAN-интерфейсах») (см. Рисунок – Балансировка нагрузки на WAN-интерфейсах).
Рисунок – Балансировка нагрузки на WAN-интерфейсах
Применение и сохранение настроек подсистемы балансировки нагрузки на WAN-интерфейсах
Для применения и сохранения настроек после завершения конфигурации подсистемы балансировки нагрузки необходимо нажать кнопку «Сохранить», расположенную в верхнем правом углу заголовка раздела «Интерфейсы» (см. Рисунок – Применение и сохранение настроек). Далее следует подтвердить действие в появившемся окне «Сохранить изменения конфигурации?», нажав кнопку «Сохранить».
При необходимости отменить все неприменённые настройки следует нажать кнопку «Отменить», расположенную в верхнем правом углу заголовка раздела «Интерфейсы». В этом случае будет выполнен откат конфигурации подсистемы балансировки нагрузки к последнему сохранённому состоянию.
«Наименование» – выбрать сетевой интерфейс из предложенного списка для активации на нём проверки WAN-канала;
«Количество ошибок» – указать количество неудачных проверок, после которых WAN-канал будет считаться недоступным. Допустимые значения в диапазоне от «1» до «10»;
«Количество успешных запросов» – указать количество успешных проверок, после которых WAN-канал будет отмечен как доступный. Допустимые значения в диапазоне от «1» до «10»;
«Следующий узел» – адрес узла, через который будет осуществляться доступ к хосту-получателю. Возможно указать «IPv4-адрес» или «DHCP»;
«Адрес источника NAT» – IP-адрес, используемый в качестве источника NAT.
Для корректной работы проверки состояния необходимо с помощью CLI-интерфейса ARMA Стена задать статический маршрут до следующего узла для каждого из проверяемых интерфейсов (см. «Настройка статического маршрута»).
Пример команды для настройки статического маршрута:
set protocols static route 8.8.8.8/32 next-hop 192.168.43.100 interface eth1
Для редактирования настроек проверяемого интерфейса необходимо нажать ЛКМ на строке с нужным интерфейсом и в открывшейся боковой панели внести корректировки. По завершении нажать кнопку «Изменить».
Для удаления проверяемого интерфейса необходимо выбрать один или несколько интерфейсов, установив флажок в чек-боксе слева от наименования интерфейса, и нажать кнопку «Удалить». В открывшемся окне, подтвердить удаление нажатием кнопки «Удалить».
Примечание
В случае удаления последнего проверяемого интерфейса или всех проверяемых интерфейсов система предупредит о том, что все правила и основные параметры балансировки будут удалены. Для продолжения необходимо подтвердить удаление (см. Рисунок – Удаление проверяемого интерфейса).
Каждая проверка настраивается для отдельного хоста-получателя и предполагает выполнение соответствующего теста. В случае необходимости проверки нескольких хостов-получателей необходимо настроить несколько тестов, каждый из которых будет выполняться в определённом порядке.
Для добавления правил проверки интерфейса необходимо выполнить следующие действия:
Перейти в раздел «Балансировка нагрузки на WAN-интерфейсах» и нажать кнопку «+ Добавить» в подразделе «Проверка состояния интерфейсов».
В открывшейся боковой панели выбрать создаваемый объект «Правила проверки» и ввести необходимые параметры (см. Рисунок – Добавление правил проверки):
«Интерфейс» – указать из списка проверяемый интерфейс;
«Приоритет» – указать номер правила в соответствии с его очерёдностью. Допустимые значения в диапазоне от «0» до «4294967295»;
«Тип» – указать тип теста. Допускаются следующие значения:
«ping»;
«TTL»;
«Пользовательский» – указать пользовательский скрипт, описывающий характер проверки.
Скрипт должен возвращать «0» для обозначения успешного результата и значение отличное от «0» – для неудачных результатов. Система перестанет отвечать на запросы, если выполнение скрипта не завершится!
Примечание
Скрипты сохраняются в следующих каталогах:
«/config/files/configuration/load-balancing/wan/hook/» для скриптов, которые выполняются при изменении статуса интерфейса;
«/config/files/configuration/load-balancing/wan/interface-health/» для скриптов пользовательских правил.
«Время отклика» – указать значение максимального времени ожидания ответа на сообщение ICMP в секундах. Допустимые значения в диапазоне от «1» до «30». По умолчанию используется значение «5».
«Предельное время жизни (число узлов)» – параметр, который определяет количество переходов между каждой парой шлюзов на пути к хосту-получателю. Он используется для тестирования с протоколом UDP, когда выбирается тип тестирования «TTL». Успешным результатом является получение в ответ сообщения ICMP Time Expired.
«Проверяемый адрес» – указать IPv4-адрес хоста-получателя, на который будут отправляться сообщения ICMP Echo Request.
Для изменения настроек правил проверки интерфейса необходимо нажать ЛКМ на кнопку «» в правом углу строки с нужным интерфейсом в таблице «Проверка состояния интерфейсов». В открывшемся списке правил необходимо выбрать нужное правило, также нажав на него ЛКМ. В боковой панели внести необходимые изменения. По завершении нажать кнопку «Сохранить».
Для удаления правил проверки интерфейса необходимо выбрать одно или несколько правил проверки интерфейсов, установив флажок в чек-боксе слева от наименования правила, и нажать кнопку «Удалить». В открывшемся окне подтвердить удаление нажатием кнопки «Удалить».
Блок фильтрации предоставляет возможность сортировки и фильтрации данных из таблицы «Проверка состояния интерфейсов» по всем столбцам в списке (см. Рисунок – Панель поиск и фильтрации). Он включает в себя следующие поля:
Сквозной поиск по полям таблицы «Проверка состояния интерфейсов» осуществляется с помощью ввода искомого значения в поле параметра «Поиск». Поиск производится по наименованию сетевого интерфейса и номеру правил.
Фильтрация по полю «Наименование» позволяет осуществлять отбор данных на основе названий сетевых интерфейсов. В данном поле представлен раскрывающийся список с именами интерфейсов, добавленных в таблицу «Проверка состояния интерфейсов».
Фильтрация по полю «Тип правила» позволяет отфильтровать правила по типу теста. Поле содержит выпадающий список и предоставляет выбор из следующих вариантов значений: «ping», «TTL», «Пользовательский».
Сброс всех установленных фильтров осуществляется нажатием кнопки «Сбросить фильтры».
Балансировка нагрузки представляет собой совокупность правил, определяющих тип трафика, подлежащего распределению, а также перечень таблиц маршрутизации и их значимости.
Каждое правило включает в себя критерии соответствия и таблицы маршрутизации с присвоенной значимостью. Правила пронумерованы и выполняются в установленном порядке, начиная с «1» и заканчивая «9999».
Важно отметить, что номер правила является уникальным идентификатором, который не может быть изменён. Для изменения номера правила необходимо удалить его и создать заново с новым номером. Рекомендуется назначать номера правил балансировки нагрузки, оставляя свободные интервалы. Например, возможно создать набор правил с номерами «10», «20», «30» и т. д. Это позволит в случае необходимости добавить новое правило в определённое место в текущей последовательности без удаления текущего набора правил.
«Приоритет» – уникальный номер приоритета правила балансировки трафика. Допускается указать номер приоритета в диапазоне от «1» до «9999».
«Режим» – режим работы правила:
«Балансировка трафика» – выполняется распределение трафика пропорционально отношению значимости интерфейса.
«Резервирование канала» – весь трафик идёт через основной интерфейс, а в случае его отказа – через резервный. В этом случае вместо балансировки трафика между всеми работоспособными WAN каналами трафик передаётся только по активному. В случае отказа активного WAN канала на эту роль выбирается другой из списка резервных на основе состояния и значимости интерфейса. Оставшиеся WAN каналы становятся резервными по отношению к новому активному.
Роли WAN-каналов и соответствующих им интерфейсов могут быть выбраны на основе порядка правил балансировки. В связи с тем, что автоматическое перераспределение установленных ранее сессий между активными и резервными каналами WAN не осуществляется, необходимо включить параметр «Очищать таблицы отслеживания подключений при изменении состояния соединения».
«Тип проверки трафика» – тип проверки трафика правилом:
«Потоковый» – для исходящего трафика по умолчанию применяется балансировка потоков в полном объёме. Для функционирования в данном режиме используется механизм отслеживания соединений на основе IP-адресов отправителя и получателя, а также номеров портов отправителя и получателя. Каждый поток связывается с определённым сетевым интерфейсом в соответствии с установленными правилами балансировки, в результате чего все сетевые пакеты, относящиеся к данному потоку, перенаправляются через этот интерфейс. Преимуществом данного режима работы является сохранение последовательности пакетов при использовании различных скоростей передачи данных для различных подключений.
«Пакетный» – балансировка пакетов для исходящего трафика позволяет достичь лучших показателей, но только при условии, что нарушение порядка пакетов не повлияет на функционирование сетевой инфраструктуры.
«Небалансируемый трафик» – трафик, который соответствует правилу, не балансируется, а маршрутизируется в соответствии с записями в системной таблице маршрутизации. Параметр доступен при выборе режима «Балансировка трафика».
«Балансируемые интерфейсы»:
«Интерфейс» – выбор из списка внешнего WAN-интерфейса для правила балансировки.
«Значимость» – отношение значимостей интерфейсов будет применяться с помощью алгоритма взвешенного случайного распределения в балансировке трафика. Пример, значимости «2» и «1» балансируемых интерфейсов означают, что через первый пойдёт 66% трафика, а через второй – 33%.
Кнопки «+ Добавить» и «Удалить» позволяют добавлять или удалять балансируемые интерфейсы.
«Входящий интерфейс» – выбор из списка внутреннего интерфейса для правила балансировки.
«Ограничение скорости» – для правила возможно установить ограничение скорости передачи пакетов, чтобы применять правило к трафику выше или ниже заданного порога. Если в поле «Небалансируемый трафик» установлен флажок, то блок компонентов не отображается. Блок содержит следующие параметры:
«Порог» – выбор варианта сравнения, «Выше» или «Ниже» заданного лимита скорости.
«Количество пакетов» – количество сетевых пакетов. Допустимые значения в диапазоне от «0» до «4294967295».
«Период» – период времени, в течение которого производится расчёт скорости.
«Допустимое превышение лимита» – количество пакетов, допустимое для превышения лимита в течение указанного периода времени. Допустимые значения в диапазоне от «0» до «4294967295».
«Транспортный протокол» – блок настройки протокола транспортного уровня инкапсулируемый в IP протокол. Возможно выбрать один из следующих вариантов:
«Номер» – ввести номер протокола в соответствии с документом IANA;
Предупреждение
В случае необходимости выбора протоколов TCP или UDP, следует выбирать их из списка, представленного в поле «Название», а не указывать их числовое обозначение (6 – TCP, 17 – UDP) в поле «Номер». Указание протоколов TCP или UDP через числовое обозначение приводит к некорректной работе правила.
«Название» – выбор протокола из выпадающего списка.
При установке флажка в чек-боксе «Все, кроме указанного протокола» правило будет срабатывать на трафик всех протоколов, кроме указанного.
«Отправитель» – блок, в котором возможно настроить параметры правил в зависимости от источника трафика. Возможно выбрать один из следующих вариантов:
«IP-адрес» – ввести IPv4-адрес отправителя в поле «Адрес»;
«Диапазон адресов» – указать начальный и конечный IPv4-адрес отправителя в соответствующих полях;
«Сеть» – ввести IPv4-сеть отправителя в формате «x.x.x.x/x» в поле «Сеть».
Если установить флажок в чек-боксе «Все, кроме указанного отправителя», то правило будет срабатывать для всех адресов, кроме заданных.
«Порт отправителя» – блок настроек доступен, если в блоке «Транспортный протокол» в поле «Название» указано одно из следующих значений: «tcp» или «udp». Указать порт возможно одним из следующих способов:
«Номер порта» – допустимые значения в диапазоне от «1» до «65535»;
«Диапазон портов» – позволяет задать интервал портов в диапазоне от «1» до «65535»;
«Протокол» – выбор протокола из выпадающего списка.
При установке флажка в чек-боксе «Все, кроме указанных портов» правило будет срабатывать на все порты, кроме указанных. Кнопки «+ Добавить» и «Удалить» позволяют добавлять или удалять порты отправителя.
«Получатель» – блок, в котором настраиваются параметры правил в зависимости от адресата трафика. Возможно выбрать один из следующих вариантов:
«IP-адрес» – ввести IPv4-адрес получателя в поле «Адрес»;
«Диапазон адресов» – указать начальный и конечный IPv4-адрес получателя в соответствующих полях;
«Сеть» – ввести IPv4-сеть получателя в формате «x.x.x.x/x» в поле «Сеть».
Если установить флажок в чек-боксе «Все, кроме указанного получателя», правило будет действовать на все адреса, кроме заданных.
«Порт получателя» – блок настроек доступен, если в блоке «Транспортный протокол» в поле «Название» указано одно из следующих значений: «tcp» или «udp». Указать порт возможно одним из следующих способов:
«Номер порта» – допустимые значения в диапазоне от «1» до «65535»;
«Диапазон портов» – позволяет задать интервал портов в диапазоне от «1» до «65535»;
«Протокол» – выбор протокола из выпадающего списка.
При установке флажка в чек-боксе «Все, кроме указанных портов» правило будет срабатывать на все порты, кроме указанных. Кнопки «+ Добавить» и «Удалить» позволяют добавлять или удалять порты получателя.
Для редактирования правила балансировки необходимо нажать ЛКМ на строке с нужным правилом и в открывшейся боковой панели внести корректировки в атрибуты правила. По завершении нажать кнопку «Сохранить».
Для удаления правила балансировки необходимо выбрать одно или несколько правил, установив флажок в чек-боксе слева от приоритета правила, и нажать кнопку «Удалить». В открывшемся окне, подтвердить удаление нажатием кнопки «Удалить».
Примечание
В случае удаления последнего правила балансировки система выдаст предупреждение о том, что служба балансировки перестанет функционировать. Будет предложено подтвердить удаление правила (см. Рисунок – Подтверждения удаления последнего правила балансировки):
Рисунок – Подтверждения удаления последнего правила балансировки
Общие параметры балансировки нагрузки недоступны для редактирования, если в таблице «Проверка состояний интерфейсов» не указан хотя бы один интерфейс.
«Отключить правила NAT для источника» – отключение механизма автоматической генерации правил SNAT.
По умолчанию интерфейсы, используемые в пуле балансировки нагрузки, заменяют IP-адрес источника исходящего пакета на свой собственный адрес, что гарантирует поступление ответов на один и тот же интерфейс. Это работает с помощью автоматически сгенерированных правил SNAT, которые применяются только к сбалансированному трафику. В тех случаях, когда такое поведение нежелательно, автоматическую генерацию правил SNAT возможно отключить.
«Включить балансировку локального трафика» – включение балансировки нагрузки WAN для локального трафика.
«Очищать таблицы отслеживания подключений при изменении состояния соединения» – очистка таблицы соединений при изменении состояния активного WAN-канала.
Примечание
Очистка таблицы соединений приведёт к тому, что будет выполняться балансировка пакетов вместо балансировки потоков до момента повторного установления соединений.
«Липкие сессии» – включение возможности отправки ответных пакетов с сетевого интерфейса, входящего в группу балансировочных интерфейсов, откуда поступил запрос.
«Скрипт, выполняемый по изменению статуса интерфейса» – выбор пользовательского скрипта, который будет запускаться при изменении состояния балансируемого интерфейса.
Для загрузки пользовательского скрипта в систему ARMA Стена необходимо нажать кнопку «Загрузить скрипт» (см. Рисунок – Загрузка пользовательского скрипта). В появившемся диалоговом окне следует выбрать файл скрипта, располагающийся на локальном устройстве пользователя. Скрипты загружаются в директорию «/config/scripts».
В названии файла скрипта недопустимо использовать символы: пробел, «“», «\». Максимальный размер файла не более 1 мегабайта.
Предупреждение
Скрипт должен возвращать «0» для обозначения успешного результата и значение отличное от «0» – для неудачных результатов. Система перестанет отвечать на запросы, если выполнение скрипта не завершится!
Для сохранения изменений в общих настройках балансировочной нагрузки необходимо нажать кнопку «Сохранить (см. Рисунок – Сохранение настроек).
Если минимально необходимые настройки балансировки не будут соблюдены, при попытке сохранить изменения система выдаст предупреждение о невозможности обновления настроек балансировки нагрузки на WAN-интерфейсах.
ARMA Стена включает в себя функциональность обратного прокси-сервера, обеспечивающего высокую доступность, распределение нагрузки и проксирование для приложений на основе TCP (уровень 4) и HTTP (уровень 7).
Для настройки обратного прокси необходимо перейти в раздел «Интерфейсы» затем в подраздел «Обратный прокси» (см. Рисунок – Обратный прокси).
Минимально необходимая конфигурация для реализации обратного прокси должна включать в себя следующие элементы:
добавлен минимум один backend-сервер (таблица «Группы Backend-серверов»), с хотя бы одним добавленным сервером (таблица «Сервер»);
добавлена минимум одна служба обратного прокси (таблица «Службы обратного прокси») с указанием следующих параметров: «Порт, используемый для соединения», «Группа Backend-серверов».
«Максимальное число подключений» – используется для настройки максимального количества одновременных подключений для обратного прокси-сервера с балансировкой нагрузки. Позволяет ограничивать количество одновременных подключений к серверу с целью предотвращения его перегрузки, обеспечения стабильной работы при высоких нагрузках и эффективного управления ресурсами. Допустимые значения в диапазоне от «1» до «2000000».
«Алгоритмы шифрования для соединений по протоколу SSL/TLS» – используется для настройки списка шифров, которые будут использоваться при установлении SSL/TLS соединений через обратный прокси-сервер. Возможен множественный выбор.
«Минимально допустимая версия TLS» – указать минимальную поддерживаемую версию протокола TLS для всех SSL/TLS соединений через обратный прокси-сервер с балансировкой нагрузки. Допустимые версии протокола TLS: «1.2» или «1.3». По умолчанию используется версия «1.3».
Блок «Группы Backend-серверов» предназначен для конфигурации групп серверов, известных как бэкенд-серверы, которые обрабатывают входящие запросы, поступающие через обратный прокси-сервер. Основная функция данного блока заключается в реализации внутренней логики распределения трафика между серверами.
Для добавления группы backend-серверов необходимо выполнить следующие действия:
Нажать кнопку «+ Добавить» в таблице «Группы Backend-серверов» и в открывшемся окне «Добавление группы Backend-серверов» внести следующие параметры:
«Наименование» – уникальное имя группы. Допускается использование следующих символов: буквы латинского алфавита, цифры, дефис («-») и нижнее подчёркивание («_»).
«Режим группы backend-серверов» – режим определяет, какой протокол будет использоваться для взаимодействия с серверами бэкенда: HTTP или TCP. При выборе режима HTTP отобразится таблица «Заголовки HTTP ответа» для просмотра HTTP-заголовков ответов, которые был настроен для группы backend-серверов. Таблица предназначена для верификации установленных значений определённых заголовков и подтверждения соответствия конфигурации заданным параметрам.
«Алгоритм балансировки» – алгоритм балансировки нагрузки, который будет использоваться для распределения запросов между доступными серверами. Возможно указать следующие алгоритмы:
«source-address» – распределяет запросы на основе исходного IP-адреса клиента;
«round-robin» – распределяет запросы циклическим образом, последовательно отправляя каждый запрос следующему в очереди серверу. Используется по умолчанию;
«least-connection» – распределяет запросы на сервер с наименьшим количеством активных подключений.
«Проверка состояния узла (без HTTP)» – выбрать протокол проверки состояния серверов, входящих в группу backend-серверов. Доступно при выборе режима группы backend-серверов – «tcp». Данный параметр обеспечивает автоматическое отслеживание доступности серверов и исключение из пула недоступных экземпляров, что способствует повышению отказоустойчивости системы. Доступны следующие протоколы проверок:
«ldap» – проверка состояния сервера через протокол LDAP;
«mysql» – проверка состояния сервера через протокол MySQL;
«redis» – проверка состояния сервера через протокол Redis;
«pgsql» – проверка состояния сервера через протокол PostgreSQL;
«smtp» – проверка состояния сервера через протокол SMTP.
«HTTP-проверка состояния узла» – блок компонентов, предназначенный для настройки и проведения оценки доступности веб-приложений, осуществляющих предоставление информации о своём состоянии через HTTP-запросы. Данный блок обеспечивает мониторинг работоспособности серверов в составе группы посредством инициации HTTP-запросов и последующего анализа полученных ответов.
«URI» – задать конечную точку, которая будет использоваться для проверки работоспособности сервера. URL должен начинаться с символа «/» и не должен содержать символ «#» или пробел.
«options» – используется для запроса метаданных о поддерживаемых HTTP-методах на сервере;
«get» – запрашивает ресурс с сервера, включая заголовки и тело ответа;
«head» – аналогичен «get», но возвращает только заголовки ответа без тела;
«post» – отправляет данные на сервер для обработки;
«put» – используется для обновления ресурса на сервере.
«Проверяемый атрибут ответа» – блок настройки условия, которое должно выполняться для того, чтобы сервер считался доступным в процессе проверки состояния. Условие может быть основано на HTTP-статусе ответа – «Код ответа» или содержимом тела ответа – «Тело».
«Код ответа» – ожидаемый HTTP-статус ответа, который должен быть возвращён сервером для успешного прохождения health check. Допустимые значения в диапазоне от «200» до «399». Поле становится доступным для ввода при условии, что значение компонента «Проверяемый атрибут ответа» установлено как «Код ответа».
«Содержимое тела ответа» – содержимое строки в теле HTTP-ответа. Если указанная строка присутствует в теле ответа, сервер считается доступным. Поле становится доступным для ввода при условии, что значение компонента «Проверяемый атрибут ответа» установлено как «Тело». Значение не должно начинаться с пробела или двойной косой черты «//». Максимально допустимая длина значения – 10000 символов.
«Заголовки HTTP ответа» – блок настройки HTTP-заголовков, которые будут добавлены к ответам, отправляемых через обратный прокси-сервер. Настройки доступны при выборе режима группы backend-серверов – «http». Для добавления заголовков необходимо нажать кнопку «+ Добавить» и в открывшемся окне «Добавить заголовок HTTP ответа» внести следующие параметры:
«Наименование» – указать уникальное имя заголовка. Допускается использование следующих символов: буквы латинского алфавита в верхнем и нижнем регистре, дефис («-»).
«Значение» – значение заголовка HTTP-ответа. Допускается использование только латинские буквы, цифры и символы ASCII, за исключением «'», «"». Значение не должно начинаться с пробела или спецсимволов: «//», «-».
«Серверы» – таблица настроек серверов в группе. Для добавления сервера необходимо нажать кнопку «+ Добавить» и в открывшемся окне «Добавление сервера» внести следующие параметры:
«Наименование сервера» – указать уникальный идентификатор сервера. Допускается использование следующих символов: буквы латинского алфавита, цифры, дефис («-») и нижнее подчёркивание («_»). Максимально допустимая длина значения – 247 символов.
«Адрес» – IP-адрес сервера в формате IPv4 <x.x.x.x> или IPv6 <h:h:h:h:h:h:h:h:>.
«Порт» – номер порта. Допустимые значения в диапазоне от «1» до «65535».
«Проверка состояния сервера» – включение проверки состояние сервера. Если проверка включена, то сервер будет периодически проверяться на доступность. Сервер, не прошедший проверку, автоматически исключается из пула бэкенда.
«Использовать как резервный сервер» – указать сервер в группе бэкэнда как резервный. Резервные серверы используются только в случае, если все основные серверы в пуле недоступны (например, не прошли health check или отключены). Это позволяет настроить отказоустойчивость системы, обеспечивая резервную обработку запросов.
«Отправка заголовка прокси-протокола» – настроить передачу информации о клиенте (IP-адрес, порт) от reverse proxy к серверу бэкенда для обеспечения более точного логирования и анализа трафика. Возможно выбрать следующие значения:
«Версия 1 (текстовый формат)» – данные передаются в виде текстовой строки;
«Версия 2 (бинарный формат)» – данные передаются в виде бинарных блоков;
Рисунок – Добавление сервера в группу backend-серверов
«SSL-шифрование и проверка подлинности» – настроить проверку подлинности SSL-сертификата. Возможно выбрать следующие значения из списка:
«Корневой сертификат SSL» – проверки подлинности SSL-сертификата backend-сервера с использованием указанного CA-сертификата. При выборе данного параметра откроется дополнительное поле «Корневой сертификат SSL», предназначенное для выбора SSL-сертификата из списка сертификатов, уже установленных в системе.
«Таймаут проверки установки соединения» – установить тайм-аут ожидания ответа от backend-сервера при выполнении проверки работоспособности. Если ответ не получен в течение указанного времени, backend-сервер считается недоступным. Допустимые значения в диапазоне от «1» до «3600» секунд.
«Таймаут ожидания успешной попытки подключения к серверу» – установить максимальное время ожидания для установления соединения с backend-сервером. Если соединение не будет установлено за указанное время, попытка считается неудачной. Допустимые значения в диапазоне от «1» до «3600» секунд.
«Таймаут бездействия на стороне сервера» – установить максимальное время, в течение которого соединение с backend-сервером остаётся неактивным. Если за это время не происходит никакой активности, соединение закрывается. Допустимые значения в диапазоне от «1» до «3600» секунд.
Для управления распределением трафика между серверами группы backend-серверов используются правила. Правила предоставляют функциональность для гибкой и контролируемой маршрутизации запросов, что является особенно важным в сложных системах с большим количеством серверов и сервисов. Они предоставляют возможность разработки сложных алгоритмов маршрутизации, основанных на параметрах запроса таких как URL-путь, доменное имя или использование SSL/TLS. Каждое правило определяет условия, при которых запросы перенаправляются на соответствующие серверы.
Для создания правил в группе backend-серверов необходимо выполнить следующие действия:
В таблице «Группы Backend-серверов» выбрать нужную группу, нажав ЛКМ на соответствующей строке.
В открывшемся окне «Группа Backend-серверов <имя_группы>» нажать кнопку «+ Добавить» в таблице «Правило для группы backend-серверов».
В окне «Добавление правила группы backend-серверов» ввести необходимые параметры:
«Номер правила» – уникальный идентификатор правила. Допустимые значения в диапазоне от «1» до «10000».
«Шаблоны поиска совпадений в пути URL» – таблица шаблонов поиска в URL. Для добавления шаблона необходимо нажать кнопку «+ Добавить» и в открывшемся окне «Добавить шаблон поиска в URL» указать следующие обязательные параметры (см. Рисунок – Добавление шаблона поиска в URL):
«Режим поиска» – позволяет настроить условия правила для маршрутизации запросов на основе URL-пути. Допустимы следующие значения:
«begin - Совпадение в начале» – запрос соответствует правилу, если URL начинается с указанного значения;
«end - Совпадение в конце» – запрос соответствует правилу, если URL заканчивается указанным значением;
«exact - Полное совпадение» – запрос соответствует правилу, если URL полностью совпадает с указанным значением.
«Содержимое шаблона поиска в URL» – значение URL-пути, используемое для сопоставления. Значение должно начинаться с символа «/». Допускается использовать цифры, буквы латинского алфавита, а также символы: «.», «-», «/», «-».
«Шаблоны поиска совпадения в доменном имени» – таблица шаблонов поиска в доменном имени. Для добавления шаблона необходимо нажать кнопку «+ Добавить». В открывшемся окне «Добавить шаблон поиска в доменном имени» указать в поле «Содержимое шаблона поиска в доменном имени» значение доменного имени, используемое для сопоставления (см. Рисунок – Добавление шаблона поиска совпадения в доменном имени). Максимальная длина доменного имени не должна превышать 242 символа. В составе доменного имени разрешены точка и дефис, при условии, что они не находятся на первой и последней позициях. Длина каждой доменной группы не должна превышать 63 символов. Количество доменных групп, разделённых точками, не должно превышать 127.
Рисунок – Добавление шаблона поиска совпадения в доменном имени
«URL для перенаправления» – перенаправление запросов на указанный URL. Данная функция позволяет эффективно управлять миграцией доменных имён, обновлением API, принудительным переходом на протокол HTTPS и другими сценариями, требующими изменения адреса запроса. Значение должно начинаться с символа «/». Допустимо использование букв латинского алфавита и цифр. В строке могут присутствовать следующие символы: «.», «-», «/», «-». Максимальная длина значения не должна превышать 242 символа.
«Наименование сервера» – имя сервера, на который будет направлен трафик соответствующий данному правилу. Допускается использовать: буквы латинского алфавита, цифры, дефис («-») и нижнее подчёркивание («_»).
«Параметры соответствия SSL» – настроить условия правила для маршрутизации запросов на основе SSL/TLS и связанных с ним параметр Server Name Indication (SNI). SNI – это расширение протокола TLS, которое позволяет клиенту указать имя домена в начале SSL-соединения. Данная функция особенно актуальна для работы с несколькими доменами на одном IP-адресе. Допускается выбрать следующие параметры сопоставления данных:
«req-ssl-sni» – сопоставление SNI из запроса клиента;
«ssl-fc-sni» – сопоставляет значение SNI, извлечённое из фронтенд-соединения (frontend connection) SSL/TLS. Используется для проверки SNI на уровне входящего соединения;
«ssl-fc-sni-end» – сопоставляет значение SNI в конце фронтенд-соединения SSL/TLS. Используется в редких случаях, когда SNI проверяется в конце соединения.
Раздел «Службы обратного прокси» отвечает за определение параметров точек входа для внешнего сетевого трафика. Она включает указание IP-адреса и порта, на которых будет осуществляться мониторинг входящих соединений, а также выбор протоколов. Конфигурация также определяет параметры обработки SSL/TLS для обеспечения защищённого взаимодействия с клиентами. Дополнительно она включает правила маршрутизации, такие как сопоставление доменных имён или путей запросов с соответствующими backend-серверами.
Для добавления службы обратного прокси необходимо выполнить следующие действия:
Нажать кнопку «+ Добавить» в таблице «Службы обратного прокси» и в открывшемся окне «Добавление службы обратного прокси» ввести следующие параметры (см. Рисунок – Добавление службы обратного прокси):
«Наименование» – уникальное имя службы. Допускается использовать: буквы латинского алфавита, цифры, дефис («-») и нижнее подчёркивание («_»).
«Группа backend-серверов» – выбор группы backend-серверов, которая будет обрабатывать запросы.
«Порт используемый для соединения» – номер порта, на котором обратный прокси будет принимать входящие подключения для указанного сервиса. Допустимые значения в диапазоне от «1» до «65535».
«Перенаправлять http на https» – включает автоматическое перенаправление HTTP-запросов на HTTPS.
«Сертификат для перенаправления c http на https» – выбрать сертификат(ы), который будет использоваться для шифрования трафика.
«Режим прокси» – выбрать режим работы сервиса (http или tcp) для обратного прокси, влияющий на тип обрабатываемого трафика.
«Таймаут ожидания данных при контент-инспекции TCP-запроса» – время ожидания (в миллисекундах) данных от клиента при анализе TCP-соединений. Параметр определяет сколько времени балансировщик будет ждать данные от клиента, прежде чем закрыть соединение. Допустимые значения в диапазоне от «1» до «65535».
«Заголовки HTTP ответа» – таблица «Заголовки HTTP ответа» становится доступном для конфигурирования при выборе режима прокси «http». Для добавления заголовка HTTP-ответа необходимо нажать кнопку «+ Добавить» на панели инструментов таблицы. В открывшемся окне «Добавить заголовок HTTP ответа» ввести значения в следующие поля (см. Рисунок – Добавление заголовка HTTP ответа):
«Наименование» – допускается использовать только латинские буквы и символ дефиса («-»). Длина значения не должна превышать 64 символов.
«Значение» – допускается использовать только латинские буквы, цифры и символы ASCII, за исключением «'», «"». Значение не должно начинаться с пробела или спецсимволов: «//», «-».
«Прослушиваемые адреса» – локальный IP-адрес интерфейса, на котором обратный прокси будет принимать клиентские запросы. Для добавления IP-адрес необходимо нажать кнопку «+ Добавить» на панели инструментов. В открывшемся окне «Добавить прослушиваемый адрес» следует выбрать тип IP-адреса (IPv4 или IPv6) и указать соответствующий адрес (см. Рисунок – Добавление прослушиваемого адреса).
Правила служб обратного прокси используются для определения условий маршрутизации и обработки входящего трафика в рамках указанного сервиса.
Для создания правил служб необходимо выполнить следующие действия:
В таблице «Службы обратного прокси» выбрать нужную группу, нажав ЛКМ на соответствующей строке.
В открывшемся окне «Служба <имя_группы>» нажать кнопку «+ Добавить» в таблице «Правило для службы».
В окне «Добавление правила службы» ввести необходимые параметры:
«Номер правила» – уникальный идентификатор правила. Допустимые значения в диапазоне от «1» до «10000».
«Шаблоны поиска совпадений в пути URL» – таблица шаблонов поиска в URL. Для добавления шаблона необходимо нажать кнопку «+ Добавить» и в открывшемся окне «Добавить шаблон поиска в URL» указать следующие обязательные параметры (см. Рисунок – Добавление шаблона поиска в URL):
«Режим поиска» – позволяет настроить условия правила для маршрутизации запросов на основе URL-пути. Допускается выбрать следующие значения:
«begin - Совпадение в начале» – запрос соответствует правилу, если URL начинается с указанного значения;
«end - Совпадение в конце» – запрос соответствует правилу, если URL заканчивается указанным значением;
«exact - Полное совпадение» – запрос соответствует правилу, если URL полностью совпадает с указанным значением.
«Содержимое шаблона поиска в URL» – значение URL-пути, используемое для сопоставления. Значение должно начинаться с символа «/». Допустимо использование букв латинского алфавита и цифр. В строке могут присутствовать следующие символы: «.», «-», «/», «-».
«Шаблоны поиска совпадения в доменном имени» – таблица шаблонов поиска в доменном имени. Для добавления шаблона необходимо нажать кнопку «+ Добавить». В открывшемся окне «Добавить шаблон поиска в доменном имени» указать в поле «Содержимое шаблона поиска в доменном имени» значение доменного имени, используемое для сопоставления (см. Рисунок – Добавление шаблона поиска совпадения в доменном имени). Максимальная длина доменного имени не должна превышать 242 символа. В составе доменного имени разрешены точка и дефис, при условии, что они не находятся на первой и последней позициях. Длина каждой доменной группы не должна превышать 63 символов. Количество доменных групп, разделённых точками, не должно превышать 127.
Рисунок – Добавление шаблона поиска совпадения в доменном имени
«URL для перенаправления» – перенаправление запросов на указанный URL. Значение должно начинаться с символа «/». Допустимо использование букв латинского алфавита и цифр. В строке могут присутствовать следующие символы: «.», «-», «/», «-». Максимальная длина значения не должна превышать 242 символа.
«Группа backend-серверов» – выбор из списка группы backend-серверов. Определяет какая группа backend-серверов будет обрабатывать входящие запросы, поступающие на данный сервис.
«Параметры соответствия SSL» – настроить условия правила для маршрутизации запросов на основе SSL/TLS и связанных с ним параметр Server Name Indication (SNI). SNI – это расширение протокола TLS, которое позволяет клиенту указать имя домена в начале SSL-соединения. Данная функция особенно актуальна для работы с несколькими доменами на одном IP-адресе. Допускается выбрать следующие параметры сопоставления данных:
«req-ssl-sni» – сопоставление SNI из запроса клиента;
«ssl-fc-sni» – сопоставляет значение SNI, извлечённое из фронтенд-соединения (frontend connection) SSL/TLS. Используется для проверки SNI на уровне входящего соединения;
«ssl-fc-sni-end» – сопоставляет значение SNI в конце фронтенд-соединения SSL/TLS. Используется в редких случаях, когда SNI проверяется в конце соединения.