Профили

Общие сведения о Профилях

Профили определяют настройки и параметры, используемые для обработки и управления трафиком. Важно понимать различия между Серверными и Клиентскими Профилями:

  • Серверный Профиль настраивается для взаимодействия между пользователем и Termidesk Connect;

  • Клиентский Профиль настраивается для взаимодействия между Termidesk Connect и Реальным Сервером.

В Termidesk Connect существуют следующие Профили для обработки и управления трафиком:

  • TCP-Профиль, используемый для TCP-соединения (см. подраздел TCP-Профили);

  • HTTP-Профиль, используемый для работы с HTTP-запросами (см. подраздел HTTP-Профили);

  • Профиль сохранения сессий, используемый для привязки пользователя к Реальному Серверу (см. подраздел Профили сохранения сессий).

TCP-Профили

Общие сведения о TCP-Профилях

Для задания параметров TCP в Termidesk Connect используются TCP-Профили и системные настройки TCP (см. подраздел Системные настройки).

TCP-Профили применяются в настройках Виртуальных Серверов и Серверов Балансировки, а системные настройки TCP применяются ко всей системе.

Termidesk Connect позволяет настроить следующие типы TCP-Профиля:

  • Клиентский TCP-Профиль определяет параметры взаимодействия между Termidesk Connect и Реальным Сервером, где Termidesk Connect является клиентом;

  • Серверный TCP-Профиль определяет параметры взаимодействия между пользователем и Termidesk Connect, где Termidesk Connect является сервером.

Создание и настройка TCP-Профиля выполняется одним из способов:

Создание и настройка TCP-Профиля осуществляется через объект tcp-profile (см. подраздел Объект tcp-profile).

Создание и настройка TCP-Профиля из CLI

Termidesk Connect позволяет создать и настроить следующие типы TCP-Профиля:

Создание и настройка Клиентского TCP-Профиля

Для создания и настройки Клиентского 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>

Возможные значения:

  • true – отключение использования алгоритма Нейгла;

  • false – включение использования алгоритма Нейгла.

  • включение или отключение режима TCP Fast Open для ускорения установки TCP-соединения. По умолчанию используются общесистемные настройки:

set tcp-profile client <имя> fast-open <true/false>

Возможные значения:

  • true – включение режима TCP Fast Open;

  • false – отключение режима TCP Fast Open.

  • указание времени ожидания (в секундах) соединения с Реальным Сервером (по умолчанию – 10):

set tcp-profile client <имя> connect-timeout <значение>
  • указание времени (в секундах) отсутствия данных в сессии (по умолчанию – 120):

set tcp-profile client <имя> idle-timeout <значение>
  • задание размера (в байтах) проксирующего буфера (по умолчанию – 32768). Проксирующий буфер определяет, какими порциями данные накапливаются и передаются между пользователем и Реальным Сервером:

set tcp-profile client <имя> buffer-size <значение>
  • указание алгоритма предотвращения перегрузок (по умолчанию – CUBIC):

set tcp-profile client <имя> cc <алгоритм>

Возможные значения:

  • BBR;

  • BIC;

  • CDG;

  • CUBIC;

  • DCTCP;

  • HIGHSPEED;

  • HTCP;

  • HYBLA;

  • ILLINOIS;

  • LP;

  • NV;

  • RENO;

  • VEGAS;

  • VENO;

  • WESTWOOD;

  • YEAH.

  • задание размера (в байтах) буфера для чтения (значение от 128 до 131072). По умолчанию используются общесистемные настройки:

set tcp-profile client <имя> receive-buffer <значение>
  • задание размера (в байтах) буфера для отправки (значение от 128 до 131072). По умолчанию используются общесистемные настройки:

set tcp-profile client <имя> send-buffer <значение>
  • задание максимального размера (в байтах) окна приема, предлагаемый при установке соединения (значение от 64 до 65535). По умолчанию используются общесистемные настройки:

set tcp-profile client <имя> window-clamp <значение>
  • задание максимального размера (в байтах) сегмента (значение от 64 до 65535). По умолчанию используются общесистемные настройки:

set tcp-profile client <имя> max-segment-size <значение>
  • управление механизмом ECN (Explicit Congestion Notification):

set tcp-profile client <имя> ecn <значение>

Параметр определяет режим обработки уведомлений о сетевых перегрузках. Механизм ECN позволяет маркировать пакеты при возникновении заторов, минимизируя потерю данных и стабилизируя задержки.

Возможные значения:

  • NOTECT – механизм ECN отключен (трафик регулируется путем стандартного сброса пакетов);

  • ECT1 – механизм ECN включен, уровень 1 (режим для работы без задержек L4S);

  • ECT0 – механизм ECN включен, уровень 0 (стандартный режим контроля перегрузок).

  • (опционально) настройка PROXY-протокола для исходящего соединения:

    Данные PROXY-протокола из входящих соединений доступны в lua-скриптах (см. подраздел Сценарии).

    Спецификация PROXY-протокола: https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt.

    • активация PROXY-протокола версии 1 или 2:

      set tcp-profile client <имя> proxy-protocol <v1/v2>
      Для Клиентского TCP-Профиля возможно указать только одну версию PROXY-протокола: 1 или 2.
    • включение или отключение формирования адреса для заголовка PROXY-протокола (по умолчанию – true):

      set tcp-profile client <имя> proxy-protocol pass-through-addr <true/false>

      Возможные значения:

      • true – Termidesk Connect передаст на Реальный Сервер адрес источника и адрес назначения, полученные из заголовка PROXY-протокола пользовательского подключения (настроенного на Серверном TCP-Профиле);

      • false – Termidesk Connect сформирует адреса по соответствию:

        • адрес источника – адрес пользователя;

        • адрес назначения – адрес Реального Сервера.

  • (опционально) если выбран 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, который будет передан из пользовательского подключения в сторону Реального Сервера:

      set tcp-profile client <имя> proxy-protocol v2 pass-through-tlvs <тип>

      Может быть задано несколько TLV.

      Команда позволяет за один раз добавить только один тип TLV.

    • указание типа TLV для добавления в заголовок PROXY-протокола:

      set tcp-profile client <имя> proxy-protocol v2 added-tlv <тип>

      Может быть задано несколько TLV.

      Команда позволяет за один раз добавить только один тип TLV.

    • указание формата TLV для добавления в заголовок PROXY-протокола (по умолчанию – STR):

      set tcp-profile client <имя> proxy-protocol v2 added-tlv <тип> format <формат>

      Возможные значения:

      • STR – строка;

      • BASE64 – бинарные данные закодированные в формате Base64.

    • (опционально) указание значения TLV для добавления в заголовок PROXY-протокола:

      set tcp-profile client <имя> proxy-protocol v2 added-tlv <тип> value <значение>
  • (опционально) настройка проверки активности соединения:

    • включение или отключение проверки активности соединения (по умолчанию – false):

      set tcp-profile client <имя> keep-alive enable <true/false>

      Возможные значения:

      • false – отключение проверки активности соединения;

      • true – включение проверки активности соединения.

    • указание времени бездействия (в секундах) соединения перед отправкой пакетов проверки (по умолчанию – 900):

      set tcp-profile client <имя> keep-alive timeout <значение>
    • указание интервала (в секундах) отправки пакетов проверки (по умолчанию – 75):

      set tcp-profile client <имя> keep-alive interval <значение>
    • указание количества пакетов проверки, которые следует отправить при отсутствии подтверждения от узла (по умолчанию – 3):

      set tcp-profile client <имя> keep-alive probe <значение>
      Если узел в какой-то момент перестанет присылать подтверждение, то Termidesk Connect отправит указанное количество пакетов проверки, прежде чем считать узел вышедшим из строя.
  • (опционально) задание комментария, который будет привязан к Клиентскому TCP-Профилю:

set tcp-profile client <имя> description <комментарий>
Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки.
  • применение заданных настроек:

commit
  • сохранение настроек:

write
  • просмотр заданных настроек (указывается формат вывода – XML, JSON или TXT):

show configuration xml tcp-profile client <имя>
  • просмотр выполненных команд:

show configuration cli tcp-profile client <имя>

Создание и настройка Серверного TCP-Профиля

Для создания и настройки Серверного 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>

Возможные значения:

  • true – отключение использования алгоритма Нейгла;

  • false – включение использования алгоритма Нейгла.

  • задание максимального времени (в секундах) на ожидание пакета TLS Client Hello (по умолчанию – 5):

set tcp-profile server <имя> tls-hello-read-timeout <значение>
  • задание размера очереди запросов для TCP Fast Open. Параметр задает максимальное количество одновременно обрабатываемых запросов TFO (TCP Fast Open), которые Termidesk Connect может удерживать в очереди до завершения полной установки соединения:

set tcp-profile server <имя> fast-open-queue <значение>
  • задание размера (в байтах) проксирующего буфера (по умолчанию – 32768). Проксирующий буфер определяет, какими порциями данные накапливаются и передаются между пользователем и Реальным Сервером:

set tcp-profile server <имя> buffer-size <значение>
  • указание алгоритма предотвращения перегрузок (по умолчанию – CUBIC):

set tcp-profile server <имя> cc <алгоритм>

Возможные значения:

  • BBR;

  • BIC;

  • CDG;

  • CUBIC;

  • DCTCP;

  • HIGHSPEED;

  • HTCP;

  • HYBLA;

  • ILLINOIS;

  • LP;

  • NV;

  • RENO;

  • VEGAS;

  • VENO;

  • WESTWOOD;

  • YEAH.

  • задание размера (в байтах) буфера для чтения (значение от 128 до 131072). По умолчанию используются общесистемные настройки:

set tcp-profile server <имя> receive-buffer <значение>
  • задание размера (в байтах) буфера для отправки (значение от 128 до 131072). По умолчанию используются общесистемные настройки:

set tcp-profile server <имя> send-buffer <значение>
  • задание максимального размера (в байтах) окна приема, предлагаемый при установке соединения (значение от 64 до 65535). По умолчанию используются общесистемные настройки:

set tcp-profile server <имя> window-clamp <значение>
  • задание максимального размера (в байтах) сегмента (значение от 64 до 65535). По умолчанию используются общесистемные настройки:

set tcp-profile server <имя> max-segment-size <значение>
  • управление механизмом ECN (Explicit Congestion Notification):

set tcp-profile server <имя> ecn <значение>

Параметр определяет режим обработки уведомлений о сетевых перегрузках. Механизм ECN позволяет маркировать пакеты при возникновении заторов, минимизируя потерю данных и стабилизируя задержки.

Возможные значения:

  • NOTECT – механизм ECN отключен (трафик регулируется путем стандартного сброса пакетов);

  • ECT1 – механизм ECN включен, уровень 1 (режим для работы без задержек L4S);

  • ECT0 – механизм ECN включен, уровень 0 (стандартный режим контроля перегрузок).

  • (опционально) настройка PROXY-протокола для входящего соединения:

    Если активирован PROXY-протокол, Termidesk Connect ожидает от пользователя получение заголовка PROXY-протокола перед началом обмена данными.

    Спецификация PROXY-протокола: https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt.

    • указание версии PROXY-протокола:

      set tcp-profile server <имя> proxy-protocol <версия>

      Для Серверного TCP-Профиля возможно указать обе версии PROXY-протокола: 1 и 2. Команда позволяет за один раз добавить только одну версию.

      Если указаны одновременно обе версии, Termidesk Connect автоматически определит версию заголовка по его сигнатуре.

      Возможные значения:

      • v1;

      • v2.

    • указание времени ожидания (в секундах) получения заголовка PROXY-протокола от пользователя (по умолчанию – 10):

      set tcp-profile server <имя> proxy-protocol timeout <время>
    • включение или отключение параметра подключения пользователя без передачи заголовка PROXY-протокола (по умолчанию – false):

      set tcp-profile server <имя> proxy-protocol allow-con-without-proxy-protocol <true/false>
  • (опционально) если выбран PROXY-протокол версии 1, выполняется его настройка:

    • включение или отключение приема заголовка PROXY UNKNOWN (по умолчанию – false):

      set tcp-profile server <имя> proxy-protocol v1 allow-unknown <true/false>
  • (опционально) если выбран PROXY-протокол версии 2, выполняется его настройка:

    • включение или отключение приема заголовка, содержащего адрес AF_UNIX (по умолчанию – false):

      set tcp-profile server <имя> proxy-protocol v1 allow-af-unix <true/false>
    • включение или отключение приема заголовка, содержащего адрес UNSPEC (по умолчанию – false):

      set tcp-profile server <имя> proxy-protocol v1 allow-af-unspec <true/false>
    • включение или отключение приема заголовка, содержащего команду LOCAL (по умолчанию – false):

      set tcp-profile server <имя> proxy-protocol v1 allow-local <true/false>

      Возможные значения:

      • false – отключение проверки активности соединения;

      • true – включение проверки активности соединения.

  • (опционально) настройка проверки активности соединения:

    • включение или отключение проверки активности соединения (по умолчанию – 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):

      set tcp-profile server <имя> keep-alive probe <значение>
      Если узел в какой-то момент перестанет присылать подтверждение, то Termidesk Connect отправит указанное количество пакетов проверки, прежде чем считать узел вышедшим из строя.
  • (опционально) задание комментария, который будет привязан к Серверному TCP-Профилю:

set tcp-profile server <имя> description <комментарий>
Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки.
  • применение заданных настроек:

commit
  • сохранение настроек:

write
  • просмотр заданных настроек (указывается формат вывода – XML, JSON или TXT):

show configuration xml tcp-profile server <имя>
  • просмотр выполненных команд:

show configuration cli tcp-profile server <имя>

Создание и настройка TCP-Профиля из WUI

Для отображения списка TCP-Профилей следует перейти «Настройки – Управление трафиком – Профили – TCP».

По умолчанию записи в области «TCP Профили» представлены в табличном виде и упорядочены согласно столбцу «Имя».

Основные параметры списка приведены таблице (см. таблицу Основные параметры списка TCP-Профилей).

Таблица 1. Основные параметры списка TCP-Профилей
Параметр Описание

«Имя»

Наименование TCP-Профиля

«Тип»

Тип TCP-Профиля

Для добавления TCP-Профиля следует перейти «Настройки – Управление трафиком – Профили – TCP» и в области «TCP Профили» нажать экранную кнопку [Добавить].

Затем заполнить данные, перечисленные в столбце «Параметр» следующей таблицы (см. таблицу Данные для добавления TCP-Профиля).

Таблица 2. Данные для добавления TCP-Профиля
Параметр Описание

«Имя»

Наименование TCP-Профиля

«Тип»

Выбор типа TCP-Профиля.

Возможные значения:

  • «Клиентский»;

  • «Серверный»

«Таймаут записи в сокет, с»

Время ожидания (в секундах) записи в сокет.

Значение по умолчанию: «60»

«TCP No Delay»

Включение или отключение использования алгоритма Нейгла.

Включение параметра позволяет отключить использование алгоритма Нейгла. Отключение параметра позволяет включить использование алгоритма Нейгла

«TCP Fast Open»

Включение или отключение режима TCP Fast Open для ускорения установки TCP-соединения.

Параметр доступен для TCP-Профиля типа «Клиентский»

«Таймаут соединения с Реальным Сервером, с»

Время ожидания (в секундах) соединения с Реальным Сервером.

Значение по умолчанию: «10».

Параметр доступен для TCP-Профиля типа «Клиентский»

«Ограничение времени отсутствия данных в сессии, c»

Время (в секундах) отсутствия данных в сессии.

Значение по умолчанию: «120».

Параметр доступен для TCP-Профиля типа «Клиентский»

«Таймаут ожидания TLS Client Hello, с»

Максимальное время (в секундах) на ожидание пакета TLS Client Hello.

Значение по умолчанию: «5».

Параметр доступен для TCP-Профиля типа «Серверный»

«Размер очереди запросов для TCP Fast Open»

Размер очереди запросов для TCP Fast Open. Параметр задает максимальное количество одновременно обрабатываемых запросов TFO (TCP Fast Open), которые Termidesk Connect может удерживать в очереди до завершения полной установки соединения.

Параметр доступен для TCP-Профиля типа «Серверный»

«Размер буфера»

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

Значение по умолчанию: «32».

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт

«Алгоритм предотвращения перегрузок»

Выбор алгоритма предотвращения перегрузок.

Алгоритм может быть:

  • «BBR»;

  • «BIC»;

  • «CDG»;

  • «CUBIC»;

  • «DCTCP»;

  • «HIGHSPEED»;

  • «HTCP»;

  • «HYBLA»;

  • «ILLINOIS»;

  • «LP»;

  • «NV»;

  • «RENO»;

  • «VEGAS»;

  • «VENO»;

  • «WESTWOOD»;

  • «YEAH».

Значение по умолчанию: «CUBIC»

«Размер буфера для чтения»

Размер (в байтах) буфера для чтения. По умолчанию используются общесистемные настройки.

Возможные значения: от 128 до 131072.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт

«Размер буфера для отправки»

Размер (в байтах) буфера для отправки. По умолчанию используются общесистемные настройки.

Возможные значения: от 128 до 131072.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт

«Максимальный начальный размер окна приёма»

Максимальный размер (в байтах) окна приема, предлагаемый при установке соединения. По умолчанию используются общесистемные настройки.

Возможные значения: от 64 до 65535.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт

«Максимальный размер сегмента»

Максимальный размер (в байтах) сегмента. По умолчанию используются общесистемные настройки.

Возможные значения: от 64 до 65535.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт

«ECN»

Выбор механизма ECN (Explicit Congestion Notification). Параметр определяет режим обработки уведомлений о сетевых перегрузках. Механизм ECN позволяет маркировать пакеты при возникновении заторов, минимизируя потерю данных и стабилизируя задержки.

Возможные значения:

  • «NOTECT» – механизм ECN отключен (трафик регулируется путем стандартного сброса пакетов);

  • «ECT1» – механизм ECN включен, уровень 1 (режим для работы без задержек L4S);

  • «ECT0» – механизм ECN включен, уровень 0 (стандартный режим контроля перегрузок)

«Proxy Protocol»

Включение или отключение PROXY-протокола

«v1»

Включение или отключение версии 1.

Параметр доступен при активации «Proxy Protocol»

«PROXY UNKNOWN»

Разрешение приема заголовка PROXY UNKNOWN.

Параметр доступен при активации «Proxy Protocol» и «v1» для TCP-Профиля типа «Серверный»

«v2»

Включение или отключение версии 2.

Параметр доступен при активации «Proxy Protocol»

«TLV из клиентского подключения»

Область добавления TLV, который будет передан из клиентского подключения в сторону Реального Сервера. Для доступа к параметрам области нажать экранную кнопку [+ Добавить].

Может быть добавлено несколько TLV.

Параметр доступен при активации «Proxy Protocol» и «v2» для TCP-Профиля типа «Клиентский»

«Добавить TLV»

Область добавления TLV, который добавляется в заголовок PROXY-протокола. Для доступа к параметрам области нажать экранную кнопку [+ Добавить].

Может быть добавлено несколько TLV.

Параметр доступен при активации «Proxy Protocol» и «v2» для TCP-Профиля типа «Клиентский»

«LOCAL»

Разрешение приема заголовка, содержащего адрес AF_UNIX.

Параметр доступен при активации «Proxy Protocol» и «v2» для TCP-Профиля типа «Серверный»

«AF_UNIX»

Разрешение приема заголовка, содержащего адрес UNSPEC.

Параметр доступен при активации «Proxy Protocol» и «v2» для TCP-Профиля типа «Серверный»

«UNSPEC»

Разрешение приема заголовка, содержащего команду LOCAL.

Параметр доступен при активации «Proxy Protocol» и «v2» для TCP-Профиля типа «Серверный»

«Формирование адреса для заголовка Proxy Protocol»

Включение или отключение формирования адреса для заголовка PROXY-протокола.

Параметр доступен при активации «Proxy Protocol» для TCP-Профиля типа «Клиентский»

«Подключение без Proxy Protocol»

Разрешение подключения пользователя без передачи заголовка PROXY-протокола.

Параметр доступен при активации «Proxy Protocol» для TCP-Профиля типа «Серверный»

«Время ожидания получения заголовка Proxy Protocol»

Время ожидания (в секундах) получения заголовка PROXY-протокола от пользователя.

Значение по умолчанию: «10».

Параметр доступен при активации «Proxy Protocol» для TCP-Профиля типа «Серверный»

«TCP Keep-Alive»

Включение или отключение проверки активности соединения

«Время до отправки пробы KA, с»

Время бездействия (в секундах) соединения перед отправкой пакетов проверки.

Значение по умолчанию: «900».

Параметр доступен при активации «TCP Keep-Alive»

«Интервал отправки проб КА, с»

Интервал (в секундах) отправки пакетов проверки.

Значение по умолчанию: «75».

Параметр доступен при активации «TCP Keep-Alive»

«Количество проб КА»

Количество пакетов проверки, которые следует отправить при отсутствии подтверждения от узла.

Значение по умолчанию: «3».

Параметр доступен при активации «TCP Keep-Alive»

«Комментарий»

Комментарий, который будет привязан к TCP-Профилю

Для копирования TCP-Профиля нужно:

Копируются все исходные параметры, кроме имени.
  • отметить его в списке и нажать экранную кнопку [Копировать];

  • в открывшейся форме заполнить имя создаваемого TCP-Профиля. Если имя уже существует, конфигурация будет перезаписана.

Для изменения TCP-Профиля нужно:

  • либо отметить его в списке и нажать экранную кнопку [Изменить];

  • либо нажать левой кнопкой мыши на его имя.

Для удаления TCP-Профиля нужно:

Для удаления нескольких TCP-Профилей отметить их в списке.
  • отметить его в списке и нажать экранную кнопку [Удалить];

  • подтвердить удаление, нажав экранную кнопку [Удалить] на запрос об удалении.

Объект tcp-profile

Доступные команды объекта tcp-profile приведены в таблице (см. таблицу Доступные команды объекта tcp-profile).

Таблица 3. Доступные команды объекта tcp-profile
Команда Описание

Создание Клиентского TCP-Профиля

set tcp-profile client <имя>

Имя Клиентского TCP-Профиля

Настройка Клиентского TCP-Профиля

set TCP-profile client <имя> buffer-size <значение>

Размер (в байтах) проксирующего буфера (по умолчанию – 32768). Проксирующий буфер определяет, какими порциями данные накапливаются и передаются между пользователем и Реальным Сервером

set TCP-profile client <имя> cc <значение>

Алгоритм предотвращения перегрузок (по умолчанию – CUBIC).

Возможные значения:

  • BBR;

  • BIC;

  • CDG;

  • CUBIC;

  • DCTCP;

  • HIGHSPEED;

  • HTCP;

  • HYBLA;

  • ILLINOIS;

  • LP;

  • NV;

  • RENO;

  • VEGAS;

  • VENO;

  • WESTWOOD;

  • YEAH

set TCP-profile client <имя> connect-timeout <значение>

Время ожидания (в секундах) соединения с Реальным Сервером (по умолчанию – 10)

set TCP-profile client <имя> ecn <значение>

Управление механизмом ECN (Explicit Congestion Notification). Параметр определяет режим обработки уведомлений о сетевых перегрузках. Механизм ECN позволяет маркировать пакеты при возникновении заторов, минимизируя потерю данных и стабилизируя задержки.

Возможные значения:

  • NOTECT – механизм ECN отключен (трафик регулируется путем стандартного сброса пакетов);

  • ECT1 – механизм ECN включен, уровень 1 (режим для работы без задержек L4S);

  • ECT0 – механизм ECN включен, уровень 0 (стандартный режим контроля перегрузок)

set TCP-profile client <имя> fast-open <значение>

Включение или отключение режима TCP Fast Open для ускорения установки TCP-соединения. По умолчанию используются общесистемные настройки.

Возможные значения:

  • true – включение режима TCP Fast Open;

  • false – отключение режима TCP Fast Open

set TCP-profile client <имя> idle-timeout <значение>

Время (в секундах) отсутствия данных в сессии (по умолчанию – 120)

set TCP-profile client <имя> keep-alive <значение>

Настройка проверки активности соединения.

Для параметра keep-alive могут быть указаны следующие параметры:

  • enable – включение или отключение проверки активности соединения (по умолчанию – false). Возможные значения:

    • false – отключение проверки активности соединения;

    • true – включение проверки активности соединения;

  • interval – интервал (в секундах) отправки пакетов проверки (по умолчанию – 75);

  • probe – количество пакетов проверки, которые следует отправить при отсутствии подтверждения от узла (по умолчанию – 3);

  • timeout – время бездействия (в секундах) соединения перед отправкой пакетов проверки (по умолчанию – 900)

set TCP-profile client <имя> max-segment-size <значение>

Максимальный размер (в байтах) сегмента (значение от 64 до 65535). По умолчанию используются общесистемные настройки

set TCP-profile client <имя> proxy-protocol <значение>

Настройка PROXY-протокола для соединения с Реальным Сервером.

Для параметра proxy-protocol могут быть указаны следующие параметры:

  • pass-through-addr – формирование адреса для заголовка PROXY-протокола (по умолчанию – true). Возможные значения:

    • true – Termidesk Connect передаст на Реальный Сервер адрес источника и адрес назначения, полученные из заголовка PROXY-протокола пользовательского подключения (настроенного на Серверном TCP-Профиле);

    • false – Termidesk Connect сформирует адреса по соответствию:

      • адрес источника – адрес пользователя;

      • адрес назначения – адрес Реального Сервера;

  • v1 – включение поддержки PROXY-протокола версии 1;

  • v2 – включение поддержки PROXY-протокола версии 2. Дополнительные параметры:

    • pass-through-tlvs – тип TLV, который будет передан из пользовательского подключения в сторону Реального Сервера;

    • added-tlv – тип TLV для добавления в заголовок PROXY-протокола

set TCP-profile client <имя> proxy-protocol v2 added-tlv <значение>

Тип TLV для добавления в заголовок PROXY-протокола.

Для параметра added-tlv могут быть указаны следующие параметры:

  • value – значение TLV;

  • format – формат TLV (по умолчанию – STR). Возможные значения:

    • STR – строка;

    • BASE64 – бинарные данные закодированные в формате Base64

set TCP-profile client <имя> receive-buffer <значение>

Размер (в байтах) буфера для чтения (значение от 128 до 131072). По умолчанию используются общесистемные настройки

set TCP-profile client <имя> send-buffer <значение>

Размер (в байтах) буфера для отправки (значение от 128 до 131072). По умолчанию используются общесистемные настройки

set TCP-profile client <имя> tcp-nodelay <значение>

Включение или отключение использования алгоритма Нейгла (по умолчанию – true).

Возможные значения:

  • true – отключение использования алгоритма Нейгла;

  • false – включение использования алгоритма Нейгла

set TCP-profile client <имя> window-clamp <значение>

Максимальный размер (в байтах) окна приема, предлагаемый при установке соединения (значение от 64 до 65535). По умолчанию используются общесистемные настройки

set TCP-profile client <имя> write-timeout <значение>

Время ожидания (в секундах) записи в сокет (по умолчанию – 60)

set TCP-profile client <имя> description <значение>

Комментарий, который будет привязан к Клиентскому TCP-Профилю.

Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки

Создание Серверного TCP-Профиля

set tcp-profile server <имя>

Имя Серверного TCP-Профиля

Настройка Серверного TCP-Профиля

set tcp-profile server <имя> buffer-size <значение>

Размер (в байтах) проксирующего буфера (по умолчанию – 32768). Проксирующий буфер определяет, какими порциями данные накапливаются и передаются между пользователем и Реальным Сервером

set tcp-profile server <имя> cc <значение>

Алгоритм предотвращения перегрузок (по умолчанию – CUBIC).

Возможные значения:

  • BBR;

  • BIC;

  • CDG;

  • CUBIC;

  • DCTCP;

  • HIGHSPEED;

  • HTCP;

  • HYBLA;

  • ILLINOIS;

  • LP;

  • NV;

  • RENO;

  • VEGAS;

  • VENO;

  • WESTWOOD;

  • YEAH

set tcp-profile server <имя> ecn <значение>

Управление механизмом ECN (Explicit Congestion Notification). Параметр определяет режим обработки уведомлений о сетевых перегрузках. Механизм ECN позволяет маркировать пакеты при возникновении заторов, минимизируя потерю данных и стабилизируя задержки.

Возможные значения:

  • NOTECT – механизм ECN отключен (трафик регулируется путем стандартного сброса пакетов);

  • ECT1 – механизм ECN включен, уровень 1 (режим для работы без задержек L4S);

  • ECT0 – механизм ECN включен, уровень 0 (стандартный режим контроля перегрузок)

set tcp-profile server <имя> fast-open-queue <значение>

Размер очереди запросов для TCP Fast Open. Параметр задает максимальное количество одновременно обрабатываемых запросов TFO (TCP Fast Open), которые Termidesk Connect может удерживать в очереди до завершения полной установки соединения

set tcp-profile server <имя> keep-alive <значение>

Настройка проверки активности соединения.

Для параметра keep-alive могут быть указаны следующие параметры:

  • enable – включение или отключение проверки активности соединения (по умолчанию – false). Возможные значения:

    • false – отключение проверки активности соединения;

    • true – включение проверки активности соединения;

  • interval – интервал (в секундах) отправки пакетов проверки (по умолчанию – 75);

  • probe – количество пакетов проверки, которые следует отправить при отсутствии подтверждения от узла (по умолчанию – 3);

  • timeout – время бездействия (в секундах) соединения перед отправкой пакетов проверки (по умолчанию – 900)

set tcp-profile server <имя> max-segment-size <значение>

Максимальный размер (в байтах) сегмента(значение от 64 до 65535). По умолчанию используются общесистемные настройки

set tcp-profile server <имя> proxy-protocol <значение>

Настройка PROXY-протокола для входящего соединения.

Для параметра proxy-protocol могут быть указаны следующие параметры:

  • allow-con-without-proxy-protocol – разрешение подключения пользователя без передачи заголовка PROXY-протокола (по умолчанию – false);

  • timeout – время ожидания (в секундах) получения заголовка PROXY-протокола от пользователя (по умолчанию – 10);

  • v1 – включение поддержки PROXY-протокола версии 1. Дополнительные параметры:

    • allow-unknown – разрешение приема заголовка PROXY UNKNOWN (по умолчанию – false);

  • v2 – включение поддержки PROXY-протокола версии 2. Дополнительные параметры:

    • allow-af-unix – разрешение приема заголовка, содержащего адрес AF_UNIX (по умолчанию – false);

    • allow-af-unspec – разрешение приема заголовка, содержащего адрес UNSPEC (по умолчанию – false);

    • allow-local – разрешение приема заголовка, содержащего команду LOCAL (по умолчанию – false)

set tcp-profile server <имя> receive-buffer <значение>

Размер (в байтах) буфера для чтения (значение от 128 до 131072). По умолчанию используются общесистемные настройки

set tcp-profile server <имя> send-buffer <значение>

Размер (в байтах) буфера для отправки (значение от 128 до 131072). По умолчанию используются общесистемные настройки

set tcp-profile server <имя> tcp-nodelay <значение>

Включение или отключение использования алгоритма Нейгла (по умолчанию – true).

Возможные значения:

  • true – отключение использования алгоритма Нейгла;

  • false – включение использования алгоритма Нейгла

set tcp-profile server <имя> tls-hello-read-timeout <значение>

Максимальное время (в секундах) на ожидание пакета TLS Client Hello (по умолчанию – 5)

set tcp-profile server <имя> window-clamp <значение>

Максимальный размер (в байтах) окна приема, предлагаемый при установке соединения (значение от 64 до 65535). По умолчанию используются общесистемные настройки

set tcp-profile server <имя> write-timeout <значение>

Время ожидания (в секундах) записи в сокет (по умолчанию – 60)

set tcp-profile server <имя> description <значение>

Комментарий, который будет привязан к Серверному TCP-Профилю.

Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки

HTTP-Профили

Общие сведения о HTTP-Профилях

Termidesk Connect позволяет настроить следующие типы HTTP-Профиля:

  • Клиентский HTTP-Профиль определяет параметры взаимодействия между Termidesk Connect и Реальным Сервером, где Termidesk Connect является клиентом;

  • Серверный HTTP-Профиль определяет параметры взаимодействия между пользователем и Termidesk Connect, где Termidesk Connect является сервером.

Создание и настройка HTTP-Профиля выполняется одним из способов:

Создание и настройка HTTP-Профиля осуществляется через объект http-profile (см. подраздел Объект http-profile).

Поддержка версий HTTP

В Termidesk Connect доступна поддержка протокола HTTP версий 1.X (далее HTTP/1) и 2 (далее HTTP/2) в настройках Серверного HTTP-Профиля. Эти настройки влияют на режим работы Виртуального Сервера (через привязку Серверного HTTP-Профиля).

Протокол HTTP/1 использует текстовый формат передачи данных и поддерживает последовательную обработку транзакций (запрос-ответ) в рамках одной TCP-сессии. Каждое последующее соединение блокируется до завершения предыдущего.

В протоколе HTTP/2 данные передаются в бинарном формате. В рамках одной TCP-сессии реализована поддержка параллельных независимых потоков (stream), что исключает взаимную блокировку запросов.

Поведение Серверного HTTP-Профиля при обработке различных комбинаций версий HTTP представлено в таблице (см. таблицу Поведение Серверного HTTP-Профиля)

Таблица 4. Поведение Серверного HTTP-Профиля
Протокол HTTP/1 Протокол HTTP/2 Поведение Серверного HTTP-Профиля

Включен

Выключен

Взаимодействие по протоколу HTTP/1.

Если расширение рукопожатия TLS alpn содержит значение http/1.0 или http/1.1, подключение будет установлено, иначе запрос будет отклонен

Включен

Включен

Взаимодействие по протоколам HTTP/1 и HTTP/2.

Если расширение рукопожатия TLS alpn содержит значение h2, то подключение будет установлено по протоколу HTTP/2 в приоритетном порядке.

Если расширение рукопожатия TLS alpn содержит значение http/1.0 или http/1.1, а также не содержит значение h2, то подключение будет установлено по протоколу HTTP/1.

Поле handshake.default_alpn Сценария SSL позволяет переопределять выбранное значение alpn при рукопожатии

Выключен

Включен

Взаимодействие по протоколу HTTP/2.

Если расширение рукопожатия TLS alpn содержит значение h2, подключение будет установлено, иначе запрос будет отклонен

Выключен

Выключен

Недопустимая конфигурация

Если подключение происходит без TLS, то выбирается значение параметра plain-protocol в качестве протокола взаимодействия.

Создание и настройка HTTP-Профиля из CLI

Termidesk Connect позволяет создать и настроить следующие типы HTTP-Профиля:

Создание и настройка Клиентского HTTP-Профиля

Для создания и настройки Клиентского HTTP-Профиля используются команды:

  • создание Клиентского HTTP-Профиля:

set http-profile client <имя>
По умолчанию доступен Клиентский HTTP-Профиль httpp-client-default, который нельзя удалить или изменить.
  • указание значений (может быть несколько) из заголовка 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>

Возможные значения:

  • true – заголовок Expect: 100-continue будет передан на Реальный Сервер, а ответ будет транслирован пользователю;

  • false – заголовок Expect: 100-continue будет удален, а Termidesk Connect сгенерирует ответ 100-Сontinue

  • задание максимального размера (в байтах) тела HTTP-ответа (по умолчанию – 0):

set http-profile client <имя> body-size-limit <значение>

Возможные значения:

  • 0 – размер тела ответа не ограничивается. В Сценарий модификации ответа значение тела ответа не передается;

  • значение больше 0 – тело ответа считывается в оперативную память и передается в Сценарий модификации ответа.

  • (опционально) настройка удержания подключения открытым (Keep-Alive) при мультиплексировании HTTP-запросов:

    Настройки keep-alive используются при мультиплексировании HTTP-запросов и привязываются через Клиентский HTTP-Профиль в настройках Сервера Балансировки (см. подраздел Мультиплексирование HTTP-запросов).

    Данные параметры должны быть согласованы с настройками HTTP Keep-Alive на Реальном Сервере.

    • указание максимального времени жизни (в секундах) подключения к Реальному Серверу (по умолчанию – 60):

      set http-profile client <имя> keep-alive max-age <значение>

      Возможные значения:

      • 0 – ограничение игнорируется;

      • значение больше 0 – подключение будет закрыто по истечении заданного интервала.

    • указание ограничения времени (в секундах) отсутствия запросов в подключении (по умолчанию – 20):

      set http-profile client <имя> keep-alive idle-timeout <значение>

      Возможные значения:

      • 0 – ограничение игнорируется;

      • значение больше 0 – подключение будет закрыто, если за указанный интервал времени через подключение не будет передано ни одного запроса.

    • указание максимального числа запросов, которое может быть отправлено по этому подключению перед его закрытием (по умолчанию – 100):

      set http-profile client <имя> keep-alive max-req-count <значение>

      Возможные значения:

      • 0 – ограничение игнорируется;

      • значение больше 0 – подключение будет закрыто при достижении максимального числа запросов.

    • задание имени заголовка для передачи исходного значения из заголовка Connection (по умолчанию – X-Connection):

      set http-profile client <имя> keep-alive max-req-count <значение>

      Указанное имя заголовка используется для управления соединением с Реальным Сервером. Название заголовка Connection в клиентском запросе принудительно заменяется на указанное название. Исходное значение заголовка Connection сохраняется в указанном заголовке.

      При указании пустой строки в значении параметра заголовок Connection будет удален из запроса при передаче на Реальный Сервер.

  • (опционально) задание комментария, который будет привязан к Клиентскому HTTP-Профилю:

set http-profile client <имя> description <комментарий>
Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки.
  • применение заданных настроек:

commit
  • сохранение настроек:

write
  • просмотр заданных настроек (указывается формат вывода – XML, JSON или TXT):

show configuration xml http-profile client <имя>
  • просмотр выполненных команд:

show configuration cli http-profile client <имя>

Создание и настройка Серверного HTTP-Профиля

Для создания и настройки Серверного HTTP-Профиля используются команды:

  • создание Серверного HTTP-Профиля:

set http-profile server <имя>
По умолчанию доступен Серверный HTTP-Профиль httpp-server-default, который нельзя удалить или изменить.
  • задание времени ожидания (в секундах) чтения из сокета (по умолчанию – 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 <значение>
  • (опционально) настройка удержания подключения открытым (Keep-Alive):

    • включение или отключение удержания подключения открытым (по умолчанию – true):

      set http-profile server <имя> keep-alive enable <true/false>

      Возможные значения:

      • false – отключение удержания подключения открытым;

      • true – включение удержания подключения открытым.

    • указание времени ожидания (в секундах) следующего запроса в текущем соединении, после чего оно будет закрыто (по умолчанию – 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 <значение>

Возможные значения:

  • 0 – размер тела запроса не ограничивается. В Сценарий балансировки значение тела запроса не передается (передается только заголовок запроса);

  • значение больше 0 – тело запроса считывается в оперативную память и передается в Сценарий балансировки. При этом параметр proxy-100 Клиентского HTTP-Профиля не учитывается: Termidesk Connect всегда самостоятельно отправляет клиенту 100-Сontinue. Если размер тела запроса, переданного клиентом, больше указанного лимита, то соединение будет сброшено, Termidesk Connect отправит ответ 404.

  • включение или отключение поддержки протокола HTTP/1 (по умолчанию – ENABLE):

set http-profile server <имя> http1 state <значение>

Подробная информация о поддержке протокола HTTP/1 представлена в подразделе Поддержка версий HTTP.

Возможные значения:

  • DISABLE – выключить поддержку протокола HTTP/1;

  • ENABLE – включить поддержку протокола HTTP/1.

  • включение или отключение поддержки протокола HTTP/2 (по умолчанию – DISABLE):

set http-profile server <имя> http2 state <значение>

Подробная информация о поддержке протокола HTTP/2 представлена в подразделе Поддержка версий HTTP.

Возможные значения:

  • DISABLE – выключить поддержку протокола HTTP/2;

  • ENABLE – включить поддержку протокола HTTP/2.

  • если включена поддержка протокола HTTP/2, выполняется его настройка:

    • задание размера (в байтах) окна подключения (значение от 1024, по умолчанию – 1048576):

      set http-profile server <имя> http2 initial-connection-window-size <значение>
    • задание размера (в байтах) окна отдельного потока (значение от 1024, по умолчанию – 65536):

      set http-profile server <имя> http2 initial-stream-window-size <значение>
    • задание максимального количества параллельных потоков в рамках одного TCP-соединения (значение от 1 до 128, по умолчанию – 100):

      set http-profile server <имя> http2 max-streams <значение>
    • задание размера (в байтах) таблицы HPACK для сжатия заголовков (по умолчанию – 4096):

      set http-profile server <имя> http2 hpack-table-size <значение>
    • задание максимального размера (в байтах) фрейма (значение от 16384 до 16777215, по умолчанию – 16384):

      set http-profile server <имя> http2 max-frame-size <значение>
    • указание имени проксируемого псевдозаголовка :scheme, который хранит в себе информацию о выбранном протоколе подключения (HTTP или HTTPS) (доступно значение от 1 до 32 символов, по умолчанию – X-Forwarded-Proto):

      set http-profile server <имя> http2 mirror-scheme <значение>
  • указание версии протокола HTTP при подключении без TLS (когда отсутствует стадия согласования ALPN) (по умолчанию – HTTP1):

set http-profile server <имя> plain-protocol <значение>

Возможные значения:

  • HTTP1 – выбор протокола HTTP/1 (невозможно использовать в качестве plain-protocol HTTP/1, если в настройках http1 state он выключен);

  • HTTP2 – выбор протокола HTTP/2 (невозможно использовать в качестве plain-protocol HTTP/2, если в настройках http2 state он выключен).

  • (опционально) задание комментария, который будет привязан к Серверному HTTP-Профилю:

set http-profile server <имя> description <комментарий>
Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки.
  • применение заданных настроек:

commit
  • сохранение настроек:

write
  • просмотр заданных настроек (указывается формат вывода – XML, JSON или TXT):

show configuration xml http-profile server <имя>
  • просмотр выполненных команд:

show configuration cli http-profile server <имя>

Создание и настройка HTTP-Профиля из WUI

Для отображения списка HTTP-Профилей следует перейти «Настройки – Управление трафиком – Профили – HTTP Профили».

По умолчанию записи представлены в табличном виде и упорядочены согласно столбцу «Имя».

Основные параметры списка приведены таблице (см. таблицу Основные параметры списка HTTP-Профилей).

Таблица 5. Основные параметры списка HTTP-Профилей
Параметр Описание

«Имя»

Наименование HTTP-Профиля

«Тип»

Тип HTTP-Профиля

Для добавления HTTP-Профиля следует перейти «Настройки – Управление трафиком – Профили – HTTP Профили» и нажать экранную кнопку [Добавить].

Затем заполнить данные, перечисленные в столбце «Параметр» следующей таблицы (см. таблицу Данные для добавления HTTP-Профиля).

Таблица 6. Данные для добавления HTTP-Профиля
Параметр Описание

«Имя»

Наименование HTTP-Профиля

«Тип»

Выбор типа HTTP-Профиля.

Возможные значения:

  • «Клиентский»;

  • «Серверный»

«Значения из заголовка Upgrade»

Значения (может быть несколько) из заголовка Upgrade, для которых разрешена смена протокола.

Для добавления значения следует нажать экранную кнопку [+].

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«Таймаут чтения из сокета, с»

Время ожидания (в секундах) чтения из сокета.

Значение по умолчанию: «60»

«Максимальное число заголовков»

Максимальное число заголовков в запросе, при котором он считается валидным.

Значение по умолчанию: «128»

«Максимальный размер всех заголовков»

Максимальный размер всех заголовков.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт.

Значение по умолчанию: «32»

«Максимальный размер одного заголовка»

Максимальный размер одного заголовка.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт.

Значение по умолчанию: «24820»

«Максимальный размер тела запроса»

Максимальный размер тела HTTP-запроса.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт;

  • МиБ – мебибайт.

Значение по умолчанию: «0».

Параметр доступен только для HTTP-Профиля типа «Серверный»

«Максимальный размер тела ответа»

Максимальный размер тела HTTP-ответа.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт;

  • МиБ – мебибайт.

Значение по умолчанию: «0».

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«CONNECT»

Включение или отключение проксирования метода CONNECT с переключением на TCP.

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«Proxy 100»

Включение или отключение обработки заголовка Expect: 100-continue.

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«Максимальное время жизни подключения к РС, с»

Максимальное время жизни (в секундах) подключения к Реальному Серверу.

Возможные значения:

  • «0» – ограничение игнорируется;

  • значение больше «0» – подключение будет закрыто по истечении заданного интервала.

Значение по умолчанию: «60».

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«Таймаут отсутствия запросов в подключении, с»

Ограничение времени (в секундах) отсутствия запросов в подключении.

Возможные значения:

  • «0» – ограничение игнорируется;

  • значение больше «0» – подключение будет закрыто, если за указанный интервал времени через подключение не будет передано ни одного запроса.

Значение по умолчанию: «20».

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«Максимальное число запросов»

Максимальное число запросов, которое может быть отправлено по этому подключению перед его закрытием.

Возможные значения:

  • «0» – ограничение игнорируется;

  • значение больше «0» – подключение будет закрыто при достижении максимального числа запросов.

Значение по умолчанию: «100».

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«Имя заголовка Connection»

Имя заголовка для передачи исходного значения из заголовка Connection.

Указанное имя заголовка используется для управления соединением с Реальным Сервером. Название заголовка Connection в клиентском запросе принудительно заменяется на указанное название. Исходное значение заголовка Connection сохраняется в указанном заголовке.

При указании пустой строки в значении параметра заголовок Connection будет удален из запроса при передаче на Реальный Сервер.

Значение по умолчанию: «X-Connection».

Параметр доступен только для HTTP-Профиля типа «Клиентский»

«HTTP Keep-Alive»

Включение или отключение удержания подключения открытым (Keep-Alive).

Параметр доступен только для HTTP-Профиля типа «Серверный»

«Время ожидания следующего запроса, с»

Время ожидания (в секундах) следующего запроса в текущем соединении, после чего оно будет закрыто.

Значение по умолчанию: «20».

Параметр доступен только для HTTP-Профиля типа «Серверный» при активированном параметре «HTTP Keep-Alive»

«Максимальное число запросов»

Максимальное количество запросов, разрешённое в текущем соединении, после чего оно будет закрыто.

Значение по умолчанию: «100».

Параметр доступен только для HTTP-Профиля типа «Серверный» при активированном параметре «HTTP Keep-Alive»

«Протокол подключения без TLS»

Версия протокола HTTP при подключении без TLS (когда отсутствует стадия согласования ALPN).

Возможные значения:

  • «HTTP1» – выбор протокола HTTP/1 (невозможно использовать в качестве протокола подключения без TLS, если в настройках HTTP/1 выключен);

  • «HTTP2» – выбор протокола HTTP/2 (невозможно использовать в качестве протокола подключения без TLS, если в настройках HTTP/2 выключен).

Значение по умолчанию: «HTTP1».

Параметр доступен только для HTTP-Профиля типа «Серверный»

«Поддержка HTTP/1.x»

Выбор поддержки протокола HTTP/1. Подробная информация о поддержке протокола HTTP/1 представлена в подразделе Поддержка версий HTTP.

Возможные значения:

  • «DISABLE» – выключить поддержку протокола HTTP/1;

  • «ENABLE» – включить поддержку протокола HTTP/1.

Значение по умолчанию: «ENABLE».

Параметр доступен только для HTTP-Профиля типа «Серверный»

«Поддержка HTTP/2»

Выбор поддержки протокола HTTP/2. Подробная информация о поддержке протокола HTTP/2 представлена в подразделе Поддержка версий HTTP.

Возможные значения:

  • «DISABLE» – выключить поддержку протокола HTTP/2;

  • «ENABLE» – включить поддержку HTTP/2.

Значение по умолчанию: «DISABLE».

Параметр доступен только для HTTP-Профиля типа «Серверный»

«Размер окна подключения»

Размер окна подключения.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт;

  • МиБ – мебибайт.

Значение по умолчанию: «1».

Параметр доступен только для HTTP-Профиля типа «Серверный» при выборе поддержки протокола HTTP/2

«Размер окна отдельного потока»

Размер окна отдельного потока.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт;

  • МиБ – мебибайт.

Значение по умолчанию: «64».

Параметр доступен только для HTTP-Профиля типа «Серверный» при выборе поддержки протокола HTTP/2

«Максимальное количество параллельных потоков»

Размер окна отдельного потока.

Возможные значения: от 1 до 128.

Значение по умолчанию: «100».

Параметр доступен только для HTTP-Профиля типа «Серверный» при выборе поддержки протокола HTTP/2

«Размер таблицы заголовков HPACK»

Размер таблицы HPACK для сжатия заголовков.

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт.

Значение по умолчанию: «4».

Параметр доступен только для HTTP-Профиля типа «Серверный» при выборе поддержки протокола HTTP/2

«Максимальный размер фрейма»

Максимальный размер фрейма

Доступен выбор единиц измерения для указанного значения:

  • Б – байт;

  • КиБ – килобайт.

Значение по умолчанию: «16».

Параметр доступен только для HTTP-Профиля типа «Серверный» при выборе поддержки протокола HTTP/2

«Имя проксируемого псевдозаголовка :scheme»

Имя проксируемого псевдозаголовка :scheme, который хранит в себе информацию о выбранном протоколе подключения (HTTP или HTTPS).

Возможные значения: от 1 до 32 символов.

Значение по умолчанию: «X-Forwarded-Proto».

Параметр доступен только для HTTP-Профиля типа «Серверный» при выборе поддержки протокола HTTP/2

«Сценарий ошибок»

Выбор файла Сценария ошибок.

Для загрузки файла Сценария нажать экранную кнопку [⤒] и указать путь к файлу в формате .lua.

Параметр доступен только для HTTP-Профиля типа «Серверный»

«Комментарий»

Комментарий, который будет привязан к HTTP-Профилю

Для копирования HTTP-Профиля нужно:

Копируются все исходные параметры, кроме имени.
  • отметить его в списке и нажать экранную кнопку [Копировать];

  • в открывшейся форме заполнить имя создаваемого HTTP-Профиля. Если имя уже существует, конфигурация будет перезаписана.

Для изменения HTTP-Профиля нужно:

  • либо отметить его в списке и нажать экранную кнопку [Изменить];

  • либо нажать левой кнопкой мыши на его имя.

Для удаления HTTP-Профиля нужно:

Для удаления нескольких HTTP-Профилей отметить их в списке.
  • отметить его в списке и нажать экранную кнопку [Удалить];

  • подтвердить удаление, нажав экранную кнопку [Удалить] на запрос об удалении.

Объект http-profile

Доступные команды объекта http-profile приведены в таблице (см. таблицу Доступные команды объекта http-profile).

Таблица 7. Доступные команды объекта http-profile
Команда Описание

Создание Клиентского HTTP-Профиля

set http-profile client <имя>

Имя Клиентского HTTP-Профиля

Настройка Клиентского HTTP-Профиля

set http-profile client <имя> allow-connect <значение>

Включение или отключение проксирования метода CONNECT с переключением на TCP (по умолчанию – false)

set http-profile client <имя> body-size-limit <значение>

Задание максимального размера (в байтах) тела HTTP-ответа (по умолчанию – 0)

set http-profile client <имя> max-header-count <значение>

Максимальное число заголовков в запросе, при котором он считается валидным (по умолчанию – 128)

set http-profile client <имя> max-header-length <значение>

Максимальный размер (в байтах) одного заголовка (по умолчанию – 24820)

set http-profile client <имя> max-headers-size <значение>

Максимальный размер (в байтах) всех заголовков (по умолчанию – 32768)

set http-profile client <имя> keep-alive <параметр> <значение>

Настройка удержания подключения открытым (Keep-Alive) при мультиплексировании HTTP-запросов.

Настройки keep-alive используются при мультиплексировании HTTP-запросов и привязываются через Клиентский HTTP-Профиль в настройках Сервера Балансировки (см. подраздел Мультиплексирование HTTP-запросов).

Данные параметры должны быть согласованы с настройками HTTP Keep-Alive на Реальном Сервере.

Для параметра keep-alive могут быть указаны следующие параметры:

  • idle-timeout – ограничение времени (в секундах) отсутствия запросов в подключении (по умолчанию – 20). Возможные значения:

    • 0 – ограничение игнорируется;

    • значение больше 0 – подключение будет закрыто, если за указанный интервал времени через подключение не будет передано ни одного запроса;

  • max-age – максимальное время жизни (в секундах) подключения к Реальному Серверу (по умолчанию – 60). Возможные значения:

    • 0 – ограничение игнорируется;

    • значение больше 0 – подключение будет закрыто по истечении заданного интервала;

  • max-req-count – максимальное число запросов, которое может быть отправлено по этому подключению перед его закрытием (по умолчанию – 100). Возможные значения:

    • 0 – ограничение игнорируется;

    • значение больше 0 – подключение будет закрыто при достижении максимального числа запросов;

  • req-conn-header-name – имя заголовка для передачи исходного значения из заголовка Connection (по умолчанию – X-Connection). Указанное имя заголовка используется для управления соединением с Реальным Сервером. Название заголовка Connection в клиентском запросе принудительно заменяется на указанное название. Исходное значение заголовка Connection сохраняется в указанном заголовке.

    При указании пустой строки в значении параметра заголовок Connection будет удален из запроса при передаче на Реальный Сервер

set http-profile client <имя> proxy-100 <значение>

Включение или отключение обработки заголовка Expect: 100-continue (по умолчанию – false)

set http-profile client <имя> read-timeout <значение>

Время ожидания (в секундах) чтения из сокета (по умолчанию – 60)

set http-profile client <имя> upgrade-types <значение>

Значения (может быть несколько) из заголовка Upgrade, для которых разрешена смена протокола (по умолчанию – websocket)

set http-profile client <имя> description <значение>

Комментарий, который будет привязан к Клиентскому HTTP-Профилю.

Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки

Создание Серверного HTTP-Профиля

set http-profile server <имя>

Имя Серверного HTTP-Профиля

Настройка Серверного HTTP-Профиля

set http-profile server <имя> body-size-limit <значение>

Задание максимального размера (в байтах) тела HTTP-запроса (по умолчанию – 0)

set http-profile server <имя> error-reply <значение>

Файл Сценария ошибок (по умолчанию – error-reply.lua)

set http-profile server <имя> http1 state <значение>

Включение или отключение поддержки протокола HTTP/1 (по умолчанию – ENABLE).

Возможные значения:

  • DISABLE – выключить поддержку протокола HTTP/1;

  • ENABLE – включить поддержку протокола HTTP/1

set http-profile server <имя> http2 <параметр> <значение>

Настройка поддержки протокола HTTP/2.

Для параметра http2 могут быть указаны следующие параметры:

  • hpack-table-size – размер (в байтах) таблицы HPACK для сжатия заголовков (по умолчанию – 4096);

  • initial-connection-window-size – размер (в байтах) окна подключения (значение от 1024, по умолчанию – 1048576);

  • initial-stream-window-size – размер (в байтах) окна отдельного потока (значение от 1024, по умолчанию – 65536);

  • max-frame-size – максимальный размер (в байтах) фрейма (значение от 16384 до 16777215, по умолчанию – 16384);

  • max-streams – максимальное количество параллельных потоков в рамках одного TCP-соединения (значение от 1 до 128, по умолчанию – 100);

  • mirror-scheme – имя проксируемого псевдозаголовка :scheme, который хранит в себе информацию о выбранном протоколе подключения (HTTP или HTTPS) (доступно значение от 1 до 32 символов, по умолчанию – X-Forwarded-Proto);

  • state – включение или отключение поддержки протокола HTTP/2 (по умолчанию – DISABLE). Возможные значения:

    • DISABLE – выключить поддержку протокола HTTP/2;

    • ENABLE – включить поддержку протокола HTTP/2

set http-profile server <имя> keep-alive <параметр> <значение>

Настройка удержания подключения открытым (Keep-Alive).

Для параметра keep-alive могут быть указаны следующие параметры:

  • enable – включение или отключение удержания подключения открытым (по умолчанию – true). Возможные значения:

    • false – отключение удержания подключения открытым;

    • true – включение удержания подключения открытым;

  • max-req-count – максимальное число запросов, разрешённое в текущем соединении, после чего оно будет закрыто (по умолчанию – 100);

  • timeout – время ожидания (в секундах) следующего запроса в текущем соединении, после чего оно будет закрыто (по умолчанию – 20)

set http-profile server <имя> max-header-count <значение>

Максимальное число заголовков в запросе, при котором он считается валидным (по умолчанию – 128)

set http-profile server <имя> max-header-length <значение>

Максимальный размер (в байтах) одного заголовка (по умолчанию – 24820)

set http-profile server <имя> max-headers-size <значение>

Максимальный размер (в байтах) всех заголовков (по умолчанию – 32768)

set http-profile server <имя> plain-protocol <значение>

Версия протокола HTTP при подключении без TLS (когда отсутствует стадия согласования ALPN) (по умолчанию – HTTP1).

Возможные значения:

  • HTTP1 – выбор протокола HTTP/1 (невозможно использовать в качестве plain-protocol HTTP/1, если в настройках http1 state он выключен);

  • HTTP2 – выбор протокола HTTP/2 (невозможно использовать в качестве plain-protocol HTTP/2, если в настройках http2 state он выключен)

set http-profile server <имя> read-timeout <значение>

Время ожидания (в секундах) чтения из сокета (по умолчанию – 60)

set http-profile server <имя> description <значение>

Комментарий, который будет привязан к Серверному HTTP-Профилю.

Для написания комментария допустимы только латинские буквы. В случае использования пробелов следует заключать текст комментария в двойные кавычки

Профили сохранения сессий

Общие сведения о Профилях сохранения сессий

Компоненты приложения могут быть доступны через Виртуальный Сервер или Сервер Балансировки. При этом для работоспособности приложения необходимо сохранять за пользователем ранее выбранный Реальный Сервер независимо от того, через какой Виртуальный Сервер или Сервер Балансировки пользователь на него попадает. Для решения этой задачи используется Профиль сохранения сессий.

Профиль сохранения сессий задает настройки параметров для привязки пользователя к Реальному Серверу и привязывается к Серверу Балансировки (с типом TCP или HTTP). Профиль может быть переиспользован на нескольких Серверах Балансировки.

При выборе Профиля сохранения сессий с типом, который не поддерживается на Сервере Балансировки, сохранение сессии не будет поддерживаться на этом Сервере Балансировки.

Все Реальные Серверы в группе должны иметь разные IP-адреса (это не касается портов) для успешного сохранения сессий. Взаимодействие с Реальным Сервером через Профиль сохранения сессий представлено на рисунке (см. рисунок Взаимодействие с Реальным Сервером через Профиль сохранения сессий).

image
Рисунок 1. Взаимодействие с Реальным Сервером через Профиль сохранения сессий

Создание и настройка Профиля сохранения сессий выполняется одним из способов:

Создание и настройка Профиля сохранения сессий осуществляется через объект persistence-profile (см. подраздел Объект persistence-profile).

Создание и настройка Профиля сохранения сессий из CLI

Для создания и настройки Профиля сохранения сессий используются команды:

  • создание Профиля сохранения сессий:

set persistence-profile id <имя>
  • указание типа Профиля сохранения сессий (по умолчанию – IPSOURCE):

set persistence-profile id <имя> algorithm <значение>

Возможные значения:

  • COOKIE – привязка по cookie, который получен в ответе Реального Сервера. Значение cookie, указанного в конфигурации, записывается в персистентную таблицу. Последующие запросы пользователя с данным cookie отправляются на этот Реальный Сервер;

  • HEADER – привязка по значению заголовка, указанного в конфигурации. Этот алгоритм независим от TCP(IP) параметров подключения;

  • IPSOURCE – привязка по IP-адресу источника запроса, т.е. IP-адресу пользователя;

  • SSLSESSION – привязка пользователя к Реальному Серверу по идентификатору SSL-сессии, являющегося частью процесса установления соединения с выбранным сервером. Последующие запросы пользователя с данным идентификатором отправляются на ранее выбранный Реальный Сервер.

  • (опционально, если задан тип 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 <имя>

Создание и настройка Профиля сохранения сессий из WUI

Для отображения списка Профилей сохранения сессий следует перейти «Настройки – Управление трафиком – Профили – Сохранение Сессий».

По умолчанию записи представлены в табличном виде и упорядочены согласно столбцу «Имя».

Основные параметры списка приведены таблице (см. таблицу Основные параметры списка Профилей сохранения сессий).

Таблица 8. Основные параметры списка Профилей сохранения сессий
Параметр Описание

«Имя»

Наименование Профиля сохранения сессий

«Тип»

Тип Профиля сохранения сессий

Для добавления Профиля сохранения сессий следует перейти «Настройки – Управление трафиком – Профили – Сохранение Сессий» и нажать экранную кнопку [Добавить].

Затем заполнить данные, перечисленные в столбце «Параметр» следующей таблицы (см. таблицу Данные для добавления Профиля сохранения сессий).

Таблица 9. Данные для добавления Профиля сохранения сессий
Параметр Описание

«Имя»

Наименование Профиля сохранения сессий

«Тип»

Выбор типа Профиля сохранения сессий.

Возможные значения:

  • «COOKIE» – привязка по cookie, который получен в ответе Реального Сервера;

  • «HEADER» – привязка по значению заголовка, указанного в конфигурации;

  • «IPSOURCE» – привязка по IP-адресу источника запроса, т.е. IP-адресу пользователя;

  • «SSLSESSION» – привязка пользователя к Реальному Серверу по идентификатору SSL-сессии.

Значение по умолчанию: «IPSOURCE»

«Название cookie»

Имя cookie, который ожидается в ответе Реального Сервера для повторного подключения пользователя на ранее выбранный Реальный Сервер.

Параметр доступен при выборе Профиля сохранения сессий с типом «COOKIE»

«Название HTTP заголовка»

Заголовок, по которому повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер.

Параметр доступен при выборе Профиля сохранения сессий с типом «HEADER»

«Таймаут»

Время ожидания (в секундах), в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер.

Значение по умолчанию: «60»

Для копирования Профиля сохранения сессий нужно:

Копируются все исходные параметры, кроме имени.
  • отметить его в списке и нажать экранную кнопку [Копировать];

  • в открывшейся форме заполнить имя создаваемого Профиля сохранения сессий. Если имя уже существует, конфигурация будет перезаписана.

Для изменения Профиля сохранения сессий нужно:

  • либо отметить его в списке и нажать экранную кнопку [Изменить];

  • либо нажать левой кнопкой мыши на его имя.

Для удаления Профиля сохранения сессий нужно:

Для удаления нескольких Профилей сохранения сессий отметить их в списке.
  • отметить его в списке и нажать экранную кнопку [Удалить];

  • подтвердить удаление, нажав экранную кнопку [Удалить] на запрос об удалении.

Объект persistence-profile

Доступные команды объекта persistence-profile приведены в таблице (см. таблицу Доступные команды объекта persistence-profile).

Таблица 10. Доступные команды объекта persistence-profile
Команда Описание

Создание Профиля сохранения сессий

set persistence-profile id <имя>

Имя Профиля сохранения сессий

Настройка Профиля сохранения сессий

set persistence-profile id <имя> algorithm <значение>

Тип Профиля сохранения сессий (по умолчанию – IPSOURCE), может принимать значения:

  • COOKIE – привязка по cookie, который получен в ответе Реального Сервера. Значение cookie, указанного в конфигурации, записывается в персистентную таблицу. Последующие запросы пользователя с данным cookie отправляются на этот Реальный Сервер;

  • HEADER – привязка по значению заголовка, указанного в конфигурации. Этот алгоритм независим от TCP(IP) параметров подключения;

  • IPSOURCE – привязка по IP-адресу источника запроса, т.е. IP-адресу пользователя;

  • SSLSESSION – привязка пользователя к Реальному Серверу по идентификатору SSL-сессии, являющегося частью процесса установления соединения с выбранным сервером. Последующие запросы пользователя с данным идентификатором отправляются на ранее выбранный Реальный Сервер

set persistence-profile id <имя> cookie-param <параметр> <значение>

Настройка параметров для Профиля сохранения сессий с типом COOKIE.

Параметром может быть:

  • cookie-name – имя cookie, который ожидается в ответе Реального Сервера для повторного подключения пользователя на этот Реальный Сервер;

  • timeout – время ожидания (в секундах) для типа COOKIE, в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60)

set persistence-profile id <имя> header-param <параметр> <значение>

Настройка параметров для Профиля сохранения сессий с типом HEADER.

Параметром может быть:

  • header-name – имя HTTP-заголовка, по которому повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер;

  • timeout – время ожидания (в секундах) для типа HEADER, в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60)

set persistence-profile id <имя> ipsource-param timeout <значение>

Время ожидания (в секундах) для типа IPSOURCE, в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60)

set persistence-profile id <имя> sslsession-param timeout <значение>

Время ожидания (в секундах) для типа SSLSESSION, в течение которого повторное подключение пользователя будет направлено на ранее выбранный Реальный Сервер (по умолчанию – 60)