Профили
Общие сведения о Профилях
Профили определяют настройки и параметры, используемые для обработки и управления трафиком. Важно понимать различия между Серверными и Клиентскими Профилями:
-
Серверный Профиль настраивается для взаимодействия между пользователем и Termidesk Connect;
-
Клиентский Профиль настраивается для взаимодействия между Termidesk Connect и Реальным Сервером.
В Termidesk Connect существуют следующие Профили для обработки и управления трафиком:
-
TCP-Профиль, используемый для TCP-соединения;
-
HTTP-Профиль, используемый для работы с HTTP-запросами;
-
Профиль сохранения сессий, используемый для привязки пользователя к Реальному Серверу.
TCP-Профили
Создание и настройка Серверного TCP-Профиля
Создание и настройка Серверного TCP-Профиля выполняется одним из способов:
-
из интерфейса командной строки Termidesk Connect;
-
из веб-интерфейса Termidesk Connect (см. подраздел Веб. Профили).
Описание параметров также приведено в подразделе Объект tcp-profile.
|
Для создания и настройки Серверного TCP-Профиля используются команды:
-
создание Серверного TCP-Профиля:
set tcp-profile server <имя>
По умолчанию доступен Серверный TCP-Профиль tcpp-server-default, который нельзя удалить или изменить.
|
-
задание времени ожидания (в секундах) записи в сокет (по умолчанию –
60):
set tcp-profile server <имя> write-timeout <значение>
-
активация или отключение использования алгоритма Нейгла (по умолчанию –
true):
set tcp-profile server <имя> tcp-nodelay <true/false>
-
задание размера буфера (в байтах) для чтения (по умолчанию –
32768):
set tcp-profile server <имя> buffer-size <значение>
-
указание алгоритма предотвращения перегрузок (по умолчанию –
CUBIC):
|
Алгоритм может быть:
|
set tcp-profile server <имя> cc <алгоритм>
-
(опционально) настройка PROXY-протокола для входящего соединения:
Если активирован PROXY-протокол, Termidesk Connect ожидает от пользователя получение заголовка PROXY-протокола перед началом обмена данными.
Спецификация PROXY-протокола: https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt.
-
указание версии PROXY-протокола:
Для Серверного TCP-Профиля возможно указать обе версии PROXY-протокола: 1 и 2. Команда позволяет за один раз добавить только одну версию.
Если указаны одновременно обе версии, Termidesk Connect автоматически определит версию заголовка по его сигнатуре.
Версия может быть:
-
v1; -
v2.
set tcp-profile client <имя> proxy-protocol <версия> -
-
указание времени ожидания (в секундах) получения заголовка PROXY-протокола от пользователя (по умолчанию –
10):set tcp-profile client <имя> proxy-protocol timeout <время> -
разрешение подключения пользователя без передачи заголовка PROXY-протокола (по умолчанию –
false):set tcp-profile client <имя> proxy-protocol allow-con-without-proxy-protocol <true/false>
-
-
(опционально) если выбран PROXY-протокол версии 1, выполняется его настройка:
-
разрешение приема заголовка
PROXY UNKNOWN(по умолчанию –false):set tcp-profile client <имя> proxy-protocol v1 allow-unknown <true/false>
-
-
(опционально) если выбран PROXY-протокол версии 2, выполняется его настройка:
-
разрешение приема заголовка, содержащего адрес
AF_UNIX(по умолчанию –false):set tcp-profile client <имя> proxy-protocol v1 allow-af-unix <true/false> -
разрешение приема заголовка, содержащего адрес
UNSPEC(по умолчанию –false):set tcp-profile client <имя> proxy-protocol v1 allow-af-unspec <true/false> -
разрешение приема заголовка, содержащего команду
LOCAL(по умолчанию –false):set tcp-profile client <имя> proxy-protocol v1 allow-local <true/false>
-
-
(опционально) настройка проверки активности соединения:
-
активация или отключение проверки активности соединения (по умолчанию –
false):set tcp-profile server <имя> keep-alive enable <true/false> -
указание времени бездействия (в секундах) соединения перед отправкой пакетов проверки (по умолчанию –
900):set tcp-profile server <имя> keep-alive timeout <значение> -
указание интервала (в секундах) отправки пакетов проверки (по умолчанию –
75):set tcp-profile server <имя> keep-alive interval <значение> -
указание количества пакетов проверки, которые следует отправить при отсутствии подтверждения от узла (по умолчанию –
3):Если узел в какой-то момент перестанет присылать подтверждение, то Termidesk Connect отправит указанное количество пакетов проверки, прежде чем считать узел вышедшим из строя. set tcp-profile server <имя> keep-alive probe <значение>
-
-
(опционально) задание комментария, который будет привязан к Серверному TCP-Профилю:
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
set tcp-profile server <имя> description <комментарий>
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml tcp-profile server <имя>
-
просмотр выполненных команд:
show configuration cli tcp-profile server <имя>
Создание и настройка Клиентского TCP-Профиля
Создание и настройка Клиентского TCP-Профиля выполняется одним из способов:
-
из интерфейса командной строки Termidesk Connect;
-
из веб-интерфейса Termidesk Connect (см. подраздел Веб. Профили).
Описание параметров также приведено в подразделе Объект tcp-profile.
|
Для создания и настройки Клиентского TCP-Профиля используются команды:
-
создание Клиентского TCP-Профиля:
set tcp-profile client <имя>
По умолчанию доступен Клиентский TCP-Профиль tcpp-client-default, который нельзя удалить или изменить.
|
-
задание времени ожидания (в секундах) записи в сокет (по умолчанию –
60):
set tcp-profile client <имя> write-timeout <значение>
-
активация или отключение использования алгоритма Нейгла (по умолчанию –
true):
set tcp-profile client <имя> tcp-nodelay <true/false>
-
задание размера буфера (в байтах) для чтения (по умолчанию –
32768):
set tcp-profile client <имя> buffer-size
-
указание алгоритма предотвращения перегрузок (по умолчанию –
CUBIC):
|
Алгоритм может быть:
|
set tcp-profile client <имя> cc <алгоритм>
-
указание времени ожидания (в секундах) соединения с Реальным Сервером (по умолчанию –
10):
set tcp-profile client <имя> connect-timeout <значение>
-
указание времени (в секундах) отсутствия данных в сессии (по умолчанию –
120):
set tcp-profile client <имя> idle-timeout <значение>
-
(опционально) настройка PROXY-протокола для исходящего соединения:
Данные PROXY-протокола из входящих соединений доступны в
lua-скриптах (см. подраздел Сценарии).Спецификация PROXY-протокола: https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt.
-
активация PROXY-протокола версии 1 или 2:
Для Клиентского TCP-Профиля возможно указать только одну версию PROXY-протокола: 1 или 2. set tcp-profile client <имя> proxy-protocol <v1/v2> -
активация или отключение формирования адреса для заголовка PROXY-протокола (по умолчанию –
true):Значение может быть:
-
true– Termidesk Connect передаст на Реальный Сервер адрес источника и адрес назначения, полученные из заголовка PROXY-протокола пользовательского подключения (настроенного на Серверном TCP-Профиле); -
false– Termidesk Connect сформирует адреса по соответствию:-
адрес источника — адрес пользователя;
-
адрес назначения — адрес Реального Сервера.
-
set tcp-profile client <имя> proxy-protocol pass-through-addr <true/false> -
-
-
(опционально) если выбран PROXY-протокол версии 2, выполняется его настройка:
Особые случаи:
-
если указан тип
type=0x03(PP2_TYPE_CRC32C)(с любым значением параметраvalue), Termidesk Connect автоматически добавит TLV с рассчитанной контрольной суммой; -
если указан тип
type=0x05(PP2_TYPE_UNIQUE_ID)c пустым значением параметраvalue, Termidesk Connect автоматически сформирует уникальный идентификатор; -
если указано одно и тоже значение типа TLV в параметрах
added-tlvиpass-through-tlvs, то приоритет отдается значению из параметраpass-through-tlvs.
-
указание типа TLV, который будет передан из пользовательского подключения в сторону Реального Сервера:
Может быть задано несколько TLV.
Команда позволяет за один раз добавить только один тип TLV.
set tcp-profile client <имя> proxy-protocol v2 pass-through-tlvs <тип> -
указание типа TLV для добавления в заголовок PROXY-протокола:
Может быть задано несколько TLV.
Команда позволяет за один раз добавить только один тип TLV.
set tcp-profile client <имя> proxy-protocol v2 added-tlv <тип> -
указание формата TLV для добавления в заголовок PROXY-протокола (по умолчанию –
STR):Формат может быть:
-
STR– строка; -
BASE64– бинарные данные закодированные в форматеBase64.
set tcp-profile client <имя> proxy-protocol v2 added-tlv <тип> format <формат> -
-
(опционально) указание значения TLV для добавления в заголовок PROXY-протокола:
set tcp-profile client <имя> proxy-protocol v2 added-tlv <тип> value <значение>
-
-
(опционально) настройка проверки активности соединения:
-
активация или отключение проверки активности соединения (по умолчанию –
false):set tcp-profile client <имя> keep-alive enable <true/false> -
указание времени бездействия (в секундах) соединения перед отправкой пакетов проверки (по умолчанию –
900):set tcp-profile client <имя> keep-alive timeout <значение> -
указание интервала (в секундах) отправки пакетов проверки (по умолчанию –
75):set tcp-profile client <имя> keep-alive interval <значение> -
указание количества пакетов проверки, которые следует отправить при отсутствии подтверждения от узла (по умолчанию –
3):Если узел в какой-то момент перестанет присылать подтверждение, то Termidesk Connect отправит указанное количество пакетов проверки, прежде чем считать узел вышедшим из строя. set tcp-profile client <имя> keep-alive probe <значение>
-
-
(опционально) задание комментария, который будет привязан к Клиентскому TCP-Профилю:
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
set tcp-profile client <имя> description <комментарий>
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml tcp-profile client <имя>
-
просмотр выполненных команд:
show configuration cli tcp-profile client <имя>
HTTP-Профили
Создание и настройка Серверного HTTP-Профиля
Создание и настройка Серверного HTTP-Профиля выполняется одним из способов:
-
из интерфейса командной строки Termidesk Connect;
-
из веб-интерфейса Termidesk Connect (см. подраздел Веб. Профили).
Описание параметров также приведено в подразделе Объект http-profile.
|
Для создания и настройки Серверного HTTP-Профиля используются команды:
-
создание Серверного HTTP-Профиля:
По умолчанию доступен Серверный HTTP-Профиль httpp-server-default, который нельзя удалить или изменить.
|
set http-profile server <имя>
-
задание времени ожидания (в секундах) чтения из сокета (по умолчанию –
60):
set http-profile server <имя> read-timeout <значение>
-
задание максимального числа заголовков в запросе, при котором он считается валидным (по умолчанию –
128):
set http-profile server <имя> max-header-count <значение>
-
задание максимального размера (в байтах) всех заголовков (по умолчанию –
32768):
set http-profile server <имя> max-headers-size <значение>
-
задание максимального размера (в байтах) одного заголовка (по умолчанию –
24820):
set http-profile server <имя> max-header-length <значение>
-
(опционально) настройка повторного использования HTTP-соединений:
-
активация или отключение постоянного HTTP-соединения (по умолчанию –
true):set http-profile server <имя> keep-alive enable <true/false> -
указание времени ожидания (в секундах) следующего запроса в соединении (по умолчанию –
20):set http-profile server <имя> keep-alive timeout <значение> -
указание максимального количества запросов, которое может быть отправлено в этом соединении перед его закрытием (по умолчанию –
100):set http-profile server <имя> keep-alive max-req-count <значение>
-
-
указание Сценария ошибок (по умолчанию –
error-reply.lua):
set http-profile server <имя> error-reply <наименование_Сценария>
-
задание максимального размера (в байтах) тела HTTP-запроса (по умолчанию –
0):
|
Возможные значения:
|
set http-profile server <имя> body-size-limit <значение>
-
(опционально) задание комментария, который будет привязан к Клиентскому HTTP-Профилю:
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
set http-profile server <имя> description <комментарий>
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml http-profile server <имя>
-
просмотр выполненных команд:
show configuration cli http-profile server <имя>
Создание и настройка Клиентского HTTP-Профиля
Создание и настройка Клиентского HTTP-Профиля выполняется одним из способов:
-
из интерфейса командной строки Termidesk Connect;
-
из веб-интерфейса Termidesk Connect (см. подраздел Веб. Профили).
Описание параметров также приведено в подразделе Объект http-profile.
|
Для создания и настройки Клиентского HTTP-Профиля используются команды:
-
создание Клиентского HTTP-Профиля:
По умолчанию доступен Клиентский HTTP-Профиль httpp-client-default, который нельзя удалить или изменить.
|
set http-profile client <имя>
-
указание значений (может быть несколько) из заголовка Upgrade, для которых разрешена смена протокола (по умолчанию –
websocket):
set http-profile client <имя> upgrade-types <значение>
-
задание времени ожидания (в секундах) чтения из сокета (по умолчанию –
60):
set http-profile client <имя> read-timeout <значение>
-
задание максимального числа заголовков в запросе, при котором он считается валидным (по умолчанию –
128):
set http-profile client <имя> max-header-count <значение>
-
задание максимального размера (в байтах) всех заголовков (по умолчанию –
32768):
set http-profile client <имя> max-header-size <значение>
-
задание максимального размера (в байтах) одного заголовка (по умолчанию –
24820):
set http-profile client <имя> max-header-length <значение>
-
активация или отключение проксирования метода CONNECT с переключением на TCP (по умолчанию –
false):
set http-profile client <имя> allow-connect <true/false>
-
активация или отключение обработки заголовка
Expect: 100-continue(по умолчанию –false):
|
Возможные значения:
|
set http-profile client <имя> proxy-100 <true/false>
-
задание максимального размера (в байтах) тела HTTP-ответа (по умолчанию –
0):
|
Возможные значения:
|
set http-profile client <имя> body-size-limit <значение>
-
(опционально) задание комментария, который будет привязан к Клиентскому HTTP-Профилю:
| Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки. |
set http-profile client <имя> description <комментарий>
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml http-profile client <имя>
-
просмотр выполненных команд:
show configuration cli http-profile client <имя>
Профили сохранения сессий
Общие сведения о Профилях сохранения сессий
Компоненты приложения могут быть доступны через Виртуальный Сервер или Сервер Балансировки. При этом для работоспособности приложения необходимо сохранять за пользователем ранее выбранный Реальный Сервер независимо от того, через какой Виртуальный Сервер или Сервер Балансировки пользователь на него попадает. Для решения этой задачи используется Профиль сохранения сессий.
Профиль сохранения сессий задает настройки параметров для привязки пользователя к Реальному Серверу и привязывается к Серверу Балансировки (с типом TCP или HTTP). Профиль может быть переиспользован на нескольких Серверах Балансировки.
| При выборе Профиля сохранения сессий с типом, который не поддерживается на Сервере Балансировки, сохранение сессии не будет поддерживаться на этом Сервере Балансировки. |
Все Реальные Серверы в группе должны иметь разные IP-адреса (это не касается портов) для успешного сохранения сессий. Взаимодействие с Реальным Сервером через Профиль сохранения сессий представлено на рисунке (см. рисунок Взаимодействие с Реальным Сервером через Профиль сохранения сессий).
Создание и настройка Профиля сохранения сессий
Создание и настройка Профиля сохранения сессий выполняется одним из способов:
-
из интерфейса командной строки Termidesk Connect;
-
из веб-интерфейса Termidesk Connect (см. подраздел Веб. Профили).
Описание параметров также приведено в подразделе Объект persistence-profile.
|
Для создания и настройки Профиля сохранения сессий используются команды:
-
создание Профиля сохранения сессий:
set persistence-profile id <имя>
-
указание типа Профиля сохранения сессий (по умолчанию –
IPSOURCE):
|
Возможные значения:
|
set persistence-profile id <имя> algorithm <значение>
-
(опционально, если задан тип
IPSOURCE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set persistence-profile id <имя> ipsource-param timeout <значение>
-
(опционально, если задан тип
COOKIE) задание имени cookie, который ожидается в ответе Реального Сервера для повторного подключения пользователя на этот Реальный Сервер:
set persistence-profile id <имя> cookie-param cookie-name <значение>
-
(опционально, если задан тип
COOKIE) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set persistence-profile id <имя> cookie-param timeout <значение>
-
(опционально, если задан тип
HEADER) задание имени HTTP-заголовка, по которому повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер:
set persistence-profile id <имя> header-param header-name <значение>
-
(опционально, если задан тип
HEADER) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set persistence-profile id <имя> header-param timeout <значение>
-
(опционально, если задан тип
SSLSESSION) задание времени ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию –60):
set persistence-profile id <имя> sslsession-param timeout <значение>
-
применение заданных настроек:
commit
-
сохранение настроек:
write
-
просмотр заданных настроек (указывается формат вывода –
XML,JSONилиTXT):
show configuration xml persistence-profile id <имя>
-
просмотр выполненных команд:
show configuration cli persistence-profile id <имя>