CLI

Настройка

vlb http-profile NAME

Создать HTTP-профиль и войти в режим его настройки.

После создания можно настроить следующие параметры:

Согласование протокола

[no] alpn-proto {http|h2}

Добавить разрешённый протокол для согласования ALPN (Application-Layer Protocol Negotiation). Можно указать один или оба протокола:

  • http — HTTP/1.1

  • h2 — HTTP/2

default-alpn-proto {http|h2|error}

Протокол по умолчанию, используемый при отсутствии расширения ALPN в TLS-рукопожатии:

  • http — использовать HTTP/1.1

  • h2 — использовать HTTP/2

  • error — отклонить соединение

plain-http-proto {http|h2c}

Протокол для нешифрованных (plain HTTP) соединений:

  • http — HTTP/1.1

  • h2c — HTTP/2 cleartext (h2c)

Параметры HTTP/2

h2 max-concurrent-streams (1-1000)

Максимальное количество параллельных потоков HTTP/2, разрешённых в одном соединении.

h2 header-table-size (4096-1048576)

Размер таблицы HPACK для сжатия заголовков HTTP/2 (в байтах).

h2 initial-window-size (65535-2147483647)

Начальный размер окна управления потоком HTTP/2 (в байтах).

h2 max-frame-size (16384-16777215)

Максимальный размер фрейма HTTP/2 (в байтах).

h2 max-header-list-size (4096-1048576)

Максимальный размер списка заголовков HTTP/2 (в байтах).

Параметры HTTP

http max-streams (1-100)

Максимальное количество последовательных HTTP-запросов в одном соединении (keep-alive).

Ослабление строгости парсера

[no] http parser-no-strict {lfcr|crlf|version|keep-alive|te}

Отключить строгую проверку определённого аспекта HTTP-парсера:

  • lfcr — разрешить разделитель строк LF CR (помимо стандартного CR LF)

  • crlf — разрешить одиночный LF как разделитель строк (без CR)

  • version — не проверять строго версию HTTP в строке запроса

  • keep-alive — не проверять строго заголовок Connection: keep-alive

  • te — разрешить одновременное присутствие заголовков Transfer-Encoding и Content-Length

Show-команды

show vlb http-profile [NAME]

Показать информацию об указанном HTTP-профиле (или обо всех).

Применение к Сервису

HTTP-профиль назначается Сервису или Access Point с помощью команд внутри секции vlb service:

vlb service my-service
  http-profile my-http-profile
  access-point type https ip 10.0.0.1/32 port 443 ssl-profile my-ssl http-profile my-http-profile
exit