Инструкция по настройке HTTP-балансировки

Аннотация

В инструкции приведена последовательность действий по настройке HTTP-балансировки Termidesk Connect.

В качестве примера будут выполняться следующие шаги:

  • шаг 1. Добавление HTTP-Проверки через веб-интерфейс;

  • шаг 2. Добавление Группы Реальных Серверов через веб-интерфейс;

  • шаг 3. Добавление Сервера Балансировки через веб-интерфейс;

  • шаг 4. Добавление первого Сценария через веб-интерфейс;

  • шаг 5. Добавление Виртуального Сервера через веб-интерфейс;

  • шаг 6. Просмотр HTTP-балансировки по первому Сценарию;

  • шаг 7. Изменение конфигурации через интерфейс командной строки;

  • шаг 8. Добавление второго Сценария через веб-интерфейс;

  • шаг 9. Добавление второго Сценария к Виртуальному Серверу;

  • шаг 10. Просмотр HTTP-балансировки по второму Сценарию;

  • шаг 11. Добавление третьего Сценария через веб-интерфейс;

  • шаг 12. Добавление третьего Сценария к Виртуальному Серверу;

  • шаг 13. Просмотр HTTP-балансировки по третьему Сценарию.

Шаг 1. Добавление HTTP-Проверки через веб-интерфейс

Для входа в Termidesk Connect ввести учетные данные администратора, для этого заполнить поля «Username» и «Password», далее нажать экранную кнопку [Login] (см. Окно авторизации Termidesk Connect).

image
Рисунок 1. Окно авторизации Termidesk Connect

Откроется веб-интерфейс Termidesk Connect, в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Проверки» (см. Веб-интерфейс Termidesk Connect).

image
Рисунок 2. Веб-интерфейс Termidesk Connect

В правой части веб-интерфейса отобразится раздел «Проверки», для добавления Проверки на вкладке «Проверки» нажать кнопку [Добавить] (см. Раздел «Проверки»).

image
Рисунок 3. Раздел «Проверки»

В открывшемся окне «Добавление Проверки» указать параметры в полях «Имя», «Интервал, с», «Время ожидания ответа, с». В раскрывающемся списке «Тип» выбрать «HTTP», в раскрывающемся списке «Метод» выбрать «GET», остальные настройки используются по умолчанию. Далее нажать кнопку [Применить] (см. Добавление проверки).

image
Рисунок 4. Добавление проверки

В правой части веб-интерфейса появится строка с добавленной Проверкой в списке (см. Список Проверок).

image
Рисунок 5. Список Проверок

Шаг 2. Добавление Группы Реальных Серверов через веб-интерфейс

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Группы Реальных Серверов», в правой части веб-интерфейса отобразится раздел «Группы Реальных Серверов». Для добавления Группы Реальных Серверов нажать кнопку [Добавить] (см. Добавление Группы Реальных Серверов).

image
Рисунок 6. Добавление Группы Реальных Серверов

В открывшемся окне «Добавление Группы Серверов» указать название в поле «Имя». Далее в области «Список реальных серверов» нажать кнопку [Добавить] и в раскрывающемся списке выбрать «IP» (см. Создание Группы Реальных Серверов).

Добавление Реального Сервера осуществляется по:

  • «IP» – IP-адрес;

  • «Domain» – доменное имя.

В данном шаге рассмотрен первый способ.

image
Рисунок 7. Создание Группы Реальных Серверов

В открывшемся окне «Добавление Реального Сервера» указать параметры в полях «IP» и «Порт». Далее нажать кнопку [Применить] (см. Добавление Реального Сервера).

image
Рисунок 8. Добавление Реального Сервера

Для добавления остальных Реальных Серверов, представленных на рисунке (см. Список Реальных Серверов), повторить предыдущее действие. Далее в раскрывающемся списке «Используемая Проверка» выбрать «http-howto» и нажать кнопку [Применить].

image
Рисунок 9. Список Реальных Серверов

В правой части веб-интерфейса появится строка с добавленной Группой Реальных Серверов в списке, которая находится в статусе «В работе» (см. Список Групп Реальных Серверов).

image
Рисунок 10. Список Групп Реальных Серверов

Шаг 3. Добавление Сервера Балансировки через веб-интерфейс

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки», в правой части веб-интерфейса отобразится раздел «Серверы Балансировки». Далее для добавления Сервера Балансировки нажать кнопку [Добавить] (см. Добавление Сервера Балансировки).

image
Рисунок 11. Добавление Сервера Балансировки

В открывшемся окне «Добавление Сервера Балансировки» указать название в поле «Имя», в раскрывающемся списке «Тип» выбрать «HTTP», в раскрывающемся списке «Группа РС» выбрать «rspoolAll», в раскрывающемся списке «Алгоритм» выбрать «ROUNDROBIN». Далее нажать кнопку [Применить] (см. Создание Сервера Балансировки).

image
Рисунок 12. Создание Сервера Балансировки

В правой части веб-интерфейса появится строка с добавленным Сервером Балансировки в списке, который находится в состоянии «В работе» (см. Список Серверов Балансировки).

image
Рисунок 13. Список Серверов Балансировки

Шаг 4. Добавление первого Сценария через веб-интерфейс

Сценарий задается следующими способами:

  • по нажатию кнопки [Загрузить] для ранее созданного Сценария;

  • по нажатию кнопки [Добавить] для создания файла Сценария через веб-интерфейс.

В данном шаге рассмотрен второй способ.

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Сценарии», в правой части веб-интерфейса отобразится раздел «Сценарии». Для добавления Сценария на вкладке «Сценарии Балансировки» нажать кнопку [Добавить] (см. Добавление первого Сценария).

image
Рисунок 14. Добавление первого Сценария

В открывшемся окне «Создание файла» указать имя файла в поле «Имя», написать Сценарий в поле «Содержимое файла». Далее нажать кнопку [Применить] (см. Создание первого Сценария).

Скрипт должен завершаться действием. Разновидности действий:

  • bs – возвращает значение Сервера Балансировки:

client.action = "bs"
  • respond – генерирует ответ от Termidesk Connect (заголовок, код ответа и т.д.):

client.action = "respond"
  • drop – разрывает соединение:

client.action = "drop"
image
Рисунок 15. Создание первого Сценария

В правой части веб-интерфейса появится строка с добавленным файлом Сценария в списке (см. Список Сценариев).

image
Рисунок 16. Список Сценариев

Шаг 5. Добавление Виртуального Сервера через веб-интерфейс

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Виртуальные Серверы», в правой части веб-интерфейса отобразится раздел «Виртуальные Серверы». Для добавления Виртуального Сервера нажать кнопку [Добавить] (см. Добавление Виртуального Сервера).

image
Рисунок 17. Добавление Виртуального Сервера

В открывшемся окне «Добавление Виртуального Сервера» указать параметры в полях «Имя», «IP Адрес» и «Порт», в раскрывающемся списке «Тип» выбрать «HTTP». Далее в области «Правила» нажать кнопку [Добавить] (см. Создание Виртуального сервера).

image
Рисунок 18. Создание Виртуального сервера

В открывшемся окне «Добавление правила» указать параметры в полях «Приоритет» и «Сценарий». Далее нажать кнопку [Применить] (см. Добавление правила).

image
Рисунок 19. Добавление правила
Чем больше значение приоритета, тем позже будет выполняться Сценарий.

В окне «Добавление Виртуального Сервера» нажать кнопку [Применить] (см. Применение настроек Виртуального Сервера).

image
Рисунок 20. Применение настроек Виртуального Сервера

В правой части веб-интерфейса появится строка с добавленным Виртуальным Сервером в списке, который находится в статусе «В работе» (см. Список Виртуальных Серверов).

image
Рисунок 21. Список Виртуальных Серверов

Шаг 6. Просмотр HTTP-балансировки по первому Сценарию

Для просмотра HTTP-балансировки в адресной строке браузера ввести адрес Сервера Балансировки (см. Ввод адреса Сервера Балансировки).

image
Рисунок 22. Ввод адреса Сервера Балансировки

Отобразится веб-страница с текстом «WEB – 01» (см. WEB – 01).

image
Рисунок 23. WEB – 01

При обновлении отобразится веб-страница с текстом «WEB – 03» (см. WEB – 03).

image
Рисунок 24. WEB – 03

При повторном обновлении отобразится веб-страница с текстом «WEB – 02» (см. WEB – 02).

image
Рисунок 25. WEB – 02

Шаг 7. Изменение конфигурации через интерфейс командной строки

Для добавления Групп Реальных Серверов в интерфейсе командной строки ввести последовательно команды:

set rs-pool id bluepool
set rs-pool id bluepool rs 10.0.0.10 803
set rs-pool id bluepool hc-id http-default
set rs-pool id greenpool
set rs-pool id greenpool rs 10.0.0.10 802
set rs-pool id greenpool hc-id http-default
set rs-pool id redpool
set rs-pool id redpool rs 10.0.0.10 801
set rs-pool id redpool hc-id http-default
commit
write

В результате добавятся Группы Реальных Серверов bluepool, greenpool и redpool, где каждый Реальный Сервер отвечает за определенный цвет страницы. Для просмотра изменений в настройках Групп Реальных Серверов в веб-интерфейсе перейти в раздел «Настройки – Управление трафиком – Группы Реальных Серверов» и обновить веб-страницу (см. Добавленные Группы Реальных Серверов).

image
Рисунок 26. Добавленные Группы Реальных Серверов

Для добавления Серверов Балансировки в интерфейсе командной строки ввести последовательно команды:

set lbs HTTP BlueLB
set lbs HTTP BlueLB rs-pool-id bluepool
set lbs HTTP GreenLB
set lbs HTTP GreenLB rs-pool-id greenpool
set lbs HTTP RedLB
set lbs HTTP RedLB rs-pool-id redpool
commit
write

В результате добавятся Сервера Балансировки BlueLB, GreenLB и RedLB, привязанные к Группам Реальных Серверов bluepool, greenpool и redpool соответственно. Для просмотра изменений в настройках Серверов Балансировки в веб-интерфейсе перейти в раздел «Настройки – Управление трафиком – Серверы Балансировки» и обновить веб-страницу (см. Добавленные Сервера Балансировки).

image
Рисунок 27. Добавленные Сервера Балансировки

Шаг 8. Добавление второго Сценария через веб-интерфейс

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Сценарии», в правой части веб-интерфейса отобразится раздел «Сценарии». Для добавления Сценария на вкладке «Сценарии Балансировки» нажать кнопку [Добавить] (см. Добавление второго Сценария).

image
Рисунок 28. Добавление второго Сценария

В открывшемся окне «Создание файла» указать имя файла в поле «Имя», написать Сценарий в поле «Содержимое файла». Далее нажать кнопку [Применить] (см. Создание второго Сценария).

Условие в файле читается, как пишется. Пример:

Условие Описание
if client.http_req.path == "/red"
then
    client.bs = "RedLB"
    client.action = "bs"
else
    client.respond.status = 430
    client.action = "respond"

Если путь в HTTP-запросе точно соответствует /red, тогда выбрать Сервер Балансировки RedLB и выполнить действие «Вернуть Сервер Балансировки». Иначе, если не выполнено ни в одно из условий, вернуть код HTTP-ответа 430

image
Рисунок 29. Создание второго Сценария

В правой части веб-интерфейса появится строка с добавленным файлом Сценария в списке (см. Список Сценариев).

image
Рисунок 30. Список Сценариев

Шаг 9. Добавление второго Сценария к Виртуальному Серверу

Для добавления второго Сценария к Виртуальному Серверу в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Виртуальные Серверы», в правой части веб-интерфейса отобразится раздел «Виртуальные Серверы». Далее отметить галочкой строку с Виртуальным Сервером vshttp01 и нажать кнопку [Изменить] (см. Изменение настроек Виртуального Сервера).

image
Рисунок 31. Изменение настроек Виртуального Сервера

В открывшемся окне «Изменение Виртуального Сервера» в области «Правила» нажать кнопку [Добавить] (см. Окно «Изменение Виртуального сервера»).

image
Рисунок 32. Окно «Изменение Виртуального сервера»

В открывшемся окне «Добавление правила» указать параметры в полях «Приоритет» и «Сценарий». Далее нажать кнопку [Применить] (см. Добавление второго правила).

image
Рисунок 33. Добавление второго правила

В окне «Изменение Виртуального Сервера» нажать кнопку [Применить] (см. Добавление второго Сценария к Виртуальному Серверу).

image
Рисунок 34. Добавление второго Сценария к Виртуальному Серверу

Шаг 10. Просмотр HTTP-балансировки по второму Сценарию

Для просмотра HTTP-балансировки по второму Сценарию в адресной строке браузера ввести адрес Сервера Балансировки 10.101.251.195/red. отобразится веб-страница с текстом «Красный Сайт» красного цвета (см. Веб-страница красного сайта).

image
Рисунок 35. Веб-страница красного сайта

Далее в адресной строке браузера ввести адрес Сервера Балансировки 10.101.251.195/green, отобразится веб-страница с текстом «Зеленый Сайт» зеленого цвета (см. Веб-страница зеленого сайта).

image
Рисунок 36. Веб-страница зеленого сайта

Далее в адресной строке браузера ввести адрес Сервера Балансировки 10.101.251.195/blue, отобразится веб-страница с текстом «Синий Сайт» синего цвета (см. Веб-страница синего сайта).

image
Рисунок 37. Веб-страница синего сайта

Далее в адресной строке браузера ввести адрес Сервера Балансировки 10.101.251.195/Somepath, браузер не сможет отобразить этот код ответа (см. Веб-страница несуществующего сайта).

image
Рисунок 38. Веб-страница несуществующего сайта

Для просмотра HTTP-ответа по адресу 10.101.251.195/Somepath в терминале выполнить команду:

curl -vv http://10.101.251.195/somePath

Отобразится информация с несуществующим 430 кодом ответа в девятой строке блока кода:

* Trying 10.101.251.195:80...
* Connected to 10.101.251.195 (10.101.251.195) port 80
> GET /some Path HTTP/1.1
> Host: 10.101.251.195
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 430 <unknown-status>
<
* no chunk, no close, no size. Assume close to signal end
* Closing connection

Для изменения второго Сценария в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Сценарии», далее на вкладке «Сценарии Балансировки» отметить галочкой строку со Сценарием rgb.lua и нажать кнопку [Изменить] (см. Изменение второго Сценария).

image
Рисунок 39. Изменение второго Сценария

В открывшемся окне «Изменение файла» изменить содержимое в двенадцатой строке файла и нажать кнопку [Применить] (см. Изменение файла).

image
Рисунок 40. Изменение файла

Для просмотра HTTP-ответа по адресу 10.101.251.195/Somepath в терминале выполнить команду:

curl -vv http://10.101.251.195/somePath

Отобразится информация с теперь уже существующим кодом ответа 428:

* Trying 10.101.251.195:80...
* Connected to 10.101.251.195 (10.101.251.195) port 80
> GET /some Path HTTP/1.1
> Host: 10.101.251.195
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 428 Precondition Required
<
* no chunk, no close, no size. Assume close to signal end
* Closing connection

Далее для просмотра HTTP-ответа по адресу 10.101.251.195/red в терминале выполнить команду:

curl -vv http://10.101.251.195/red

Отобразится информация с кодом веб-страницы «Красного Сайта»:

* Trying 10.101.251.195:80...
* Connected to 10.101.251.195 (10.101.251.195) port 80
> GET /some Path HTTP/1.1
> Host: 10.101.251.195
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Server: BaseHTTP/0.6 Python/3.8.17
< Date: Wed, 06 Aug 2025 16:27:17 GMT
< Content-type: text/html
<
<html>
<meta charset="utf-8">
<body>
<title>Красный</title>
<h1 style="color: rgb(229, 98, 98)"> Красный Сайт</h1>

</body>
</html>
* Closing connection

Далее для просмотра HTTP-ответа по адресу 10.101.251.195/green в терминале выполнить команду:

curl -vv http://10.101.251.195/green

Отобразится информация с кодом веб-страницы «Зеленого Сайта»:

* Trying 10.101.251.195:80...
* Connected to 10.101.251.195 (10.101.251.195) port 80
> GET /some Path HTTP/1.1
> Host: 10.101.251.195
> User-Agent: curl/8.7.1
> Accept: */*
>
* Request completely sent off
* HTTP 1.0, assume close after body
< HTTP/1.0 200 OK
< Server: BaseHTTP/0.6 Python/3.8.17
< Date: Wed, 06 Aug 2025 16:27:22 GMT
< Content-type: text/html
<
<html>
<meta charset="utf-8">
<body>
<title>Зеленый</title>
<h1 style="color:Green"> Зеленый Сайт</h1>

</body>
</html>
* Closing connection

Шаг 11. Добавление третьего Сценария через веб-интерфейс

В левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Сценарии», для добавления Сценария на вкладке «Сценарии Балансировки» нажать кнопку [Добавить] (см. Добавление третьего Сценария).

image
Рисунок 41. Добавление третьего Сценария

В открывшемся окне «Создание файла» указать имя файла в поле «Имя», написать Сценарий в поле «Содержимое файла». Далее нажать кнопку [Применить] (см. Создание третьего Сценария).

Для написания файла Сценария используется высокоуровневый язык программирования Lua со всеми его возможностями. Пример написания гибкого правила (с указанием нечеткого соответствия):

Условие Описание
if client.http_req.path:find("red")
then
    client.bs = "RedLB"
    client.action = "bs"
else
    client.bs = "lball"
    client.action = "bs"

Если путь содержит последовательность red, тогда выбирается Сервер Балансировки RedLB. Иначе выбирается Сервер Балансировки, содержащий три Реальных Сервера (т. е. Сервер Балансировки по умолчанию в конфигурации устройств)

image
Рисунок 42. Создание третьего Сценария

В правой части веб-интерфейса появится строка с добавленным файлом Сценария в списке (см. Список Сценариев).

image
Рисунок 43. Список Сценариев

Шаг 12. Добавление третьего Сценария к Виртуальному Серверу

Для добавления третьего Сценария к Виртуальному Серверу в левой части веб-интерфейса перейти в раздел «Настройки – Управление трафиком – Виртуальные Серверы», в правой части веб-интерфейса отобразится раздел «Виртуальные Серверы». Далее отметить галочкой строку с Виртуальным Сервером «vshttp01» и нажать кнопку [Изменить] (см. Изменение конфигурации Виртуального Сервера).

image
Рисунок 44. Изменение конфигурации Виртуального Сервера

В открывшемся окне «Изменение Виртуального Сервера» в области «Правила» нажать кнопку [Добавить] (см. Добавление правила к Виртуальному Серверу).

image
Рисунок 45. Добавление правила к Виртуальному Серверу

В открывшемся окне «Добавление правила» указать параметры в полях «Приоритет» и «Сценарий». Далее нажать кнопку [Применить] (см. Добавление третьего правила).

image
Рисунок 46. Добавление третьего правила

В окне «Изменение Виртуального Сервера» нажать кнопку [Применить] (см. Добавление третьего Сценария к Виртуальному Серверу).

image
Рисунок 47. Добавление третьего Сценария к Виртуальному Серверу

Шаг 13. Просмотр HTTP-балансировки по третьему Сценарию

Для просмотра HTTP-балансировки по третьему Сценарию в адресной строке браузера ввести адрес Сервера Балансировки 10.101.251.195 с произвольным путем, содержащим в последовательности текст red, отобразится веб-страница с текстом «WEB – 02» (см. Веб-страница).

image
Рисунок 48. Веб-страница

При изменении в адресной строке последовательности текста red, так же отобразится веб-страница с текстом «WEB – 02». При удалении текста red из последовательности в адресной строке произойдет переход на Группу Реальных Серверов rspoolAll, состоящую из трех Реальных Серверов, и будет по ним перемещаться.