Подсистема балансировки нагрузки автоматически добавляет маршруты для каждого пути в таблицу маршрутизации и балансирует трафик между настроенными интерфейсами в зависимости от работоспособности и веса интерфейса.
Минимально необходимая конфигурация для балансировки WAN-интерфейса должна включать в себя следующие элементы:
требуется добавить как минимум один сетевой интерфейс маршрутизатора с заданным адресом и адресом следующего узла;
необходимо добавить хотя бы одно правило с балансируемыми интерфейсами.
Примечание
Балансировка нагрузки не используется совместно с динамической маршрутизацией. Сервис создаёт настраиваемые таблицы маршрутизации и правила брандмауэра, что делает его несовместимым с протоколами динамической маршрутизации.
Для настройки балансировочной нагрузки необходимо перейти в раздел «Балансировка нагрузки на WAN-интерфейсах» («Настройка интерфейсов» - «Балансировка нагрузки на WAN-интерфейсах») (см. Рисунок – Балансировка нагрузки на WAN-интерфейсах).
Рисунок – Балансировка нагрузки на WAN-интерфейсах
Применение и сохранение настроек подсистемы балансировки нагрузки на WAN-интерфейсах
Для применения и сохранения настроек после завершения конфигурации подсистемы балансировки нагрузки необходимо нажать кнопку «Сохранить», расположенную в верхнем правом углу заголовка раздела «Интерфейсы» (см. Рисунок – Применение и сохранение настроек). Далее следует подтвердить действие в появившемся окне «Сохранить изменения конфигурации», нажав кнопку «Сохранить».
При необходимости отменить все неприменённые настройки следует нажать кнопку «Отмена», расположенную в верхнем правом углу заголовка раздела «Интерфейсы». В этом случае конфигурация подсистемы балансировки нагрузки будет откатана к последнему сохранённому состоянию.
«Наименование» - выбирать сетевой интерфейс из предложенного списка для активации на нём проверки WAN-канала;
«Количество ошибок» - указать количество неудачных проверок, после которых WAN-канал будет считаться недоступным. Возможно указать значение в диапазоне от «1» до «10»;
«Количество успешных запросов» - указать количество успешных проверок, после которых WAN-канал будет отмечен как доступный. Возможно указать значение в диапазоне от «1» до «10»;
«Следующий узел» - адрес узла, через который будет осуществляться доступ к хосту-получателю. Возможно указать «IPv4-адрес» или «DHCP».
Для редактирования настроек проверяемого интерфейса необходимо нажать ЛКМ на строке с нужным интерфейсом и в открывшейся боковой панели внести корректировки. По завершению нажать кнопку «Сохранить».
Для удаления проверяемого интерфейса необходимо выбрать один или несколько интерфейсов, установив флажок в чек-боксе слева от наименования интерфейса, и нажать кнопку «Удалить». В открывшемся окне, подтвердить удаление нажатием кнопки «Удалить».
Примечание
В случае удаления последнего проверяемого интерфейса или всех проверяемых интерфейсов система предупредит о том, что все правила и основные параметры балансировки будут удалены. Для продолжения необходимо подтвердить удаление (см. Рисунок – Удаление проверяемого интерфейса):
Каждая проверка настраивается для отдельного хоста-получателя и предполагает выполнение соответствующего теста. В случае необходимости проверки нескольких хостов-получателей необходимо настроить несколько тестов, каждый из которых будет выполняться в определённом порядке.
Для добавления правил проверки интерфейса необходимо выполнить следующие действия:
Перейти в раздел «Балансировка нагрузки на WAN-интерфейсах» и нажать кнопку «+ Добавить» в подразделе «Проверка состояния интерфейсов».
В открывшейся боковой панели выбрать создаваемый объект «Правила проверки» и ввести необходимые параметры (см. Рисунок – Добавление правил проверки):
«Интерфейс» - указать из списка проверяемый интерфейс;
«Приоритет» - указать номер правила в соответствии с его очерёдностью. Возможно указать значение в диапазоне от «0» до «4294967295»;
«Тип» - указать тип теста. Возможно указать следующие значения:
«ping»;
«TTL»;
«Пользовательский» - указать пользовательский скрипт, описывающий характер проверки.
Для загрузки скрипта необходимо нажать кнопку «Загрузить скрипт» и в открывшемся окне проводника выбрать необходимый скрипт (см. Рисунок –Загрузка пользовательского скрипта):
Скрипт должен возвращать «0» для обозначения успешного результата и значение отличное от «0» - для неудачных результатов. Система перестанет отвечать на запросы, если выполнение скрипта не завершится!
Примечание
Скрипт сохраняется в каталоге /config/scripts.
«Время отклика» - указать значение максимального времени ожидания ответа на сообщение 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 должен начинаться с символа «/» и не должен содержать символ «#» или пробел.
Метод - выбрать используемый HTTP-метод проверки работоспособности сервера. Возможно выбрать следующие методы:
options - используется для запроса метаданных о поддерживаемых HTTP-методах на сервере;
get - запрашивает ресурс с сервера, включая заголовки и тело ответа;
head - аналогичен GET, но возвращает только заголовки ответа без тела;
post - отправляет данные на сервер для обработки;
put - используется для обновления ресурса на сервере.
Проверяемый атрибут ответа - блок настройки условия, которое должно выполняться для того, чтобы сервер считался доступным в процессе проверки состояния. Условие может быть основано на HTTP-статусе ответа - «Код ответа» или содержимом тела ответа - «Тело».
Код ответа - ожидаемый HTTP-статус ответа, который должен быть возвращён сервером для успешного прохождения health check. Возможно указать значение в диапазоне от «200» до «399». Поле становится доступным для ввода при условии, что значение компонента «Проверяемый атрибут ответа» установлено как «Код ответа».
Содержимое тела ответа - содержимое строки в теле HTTP-ответа. Если указанная строка присутствует в теле ответа, сервер считается доступным. Поле становится доступным для ввода при условии, что значение компонента «Проверяемый атрибут ответа» установлено как «Тело».
Заголовки 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-сертификата из списка сертификатов, уже установленных в системе.
Без проверки сертификата сервера - отключить проверку подлинности SSL-сертификата backend-сервера.
Таймаут проверки установки соединения - установить таймаут ожидания ответа от 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 проверяется в конце соединения.