Тип сервиса MainProxy#
Экземпляр типа сервиса service_main_proxy позволяет агрегировать множество сервисов различных типов на одном объекте типа listen.
Агрегированные сервисы также будут наследовать настройки фильтрации, upstream и др. из сервиса типа service_main_proxy.
В контексте service объявляется тип сервиса, соответствующий service_main_proxy:
service:
service_main_proxy:
MainProxy - основные параметры#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Обязательный |
Идентификатор сервиса в контексте всего профиля. Используется, например, в названии директории и других системных файлов. Значение должно быть уникальным. Количество сервисов ограничено одним |
Текстовое значение (строка, число или их комбинация, разделитель — «_») |
— |
|
Обязательный |
Настройки прослушивания. Если не указан, используются unix-сокеты |
Последовательность параметров, описанных в разделе Параметр listen |
— |
|
Обязательный |
Виртуальное имя сервера |
Последовательность строковых значений |
— |
|
Обязательный |
Относительный url, на котором будет работать сервис. Есть возможность использовать регулярное выражение. Играет роль фильтра для входящих запросов. Значение должно быть уникальным |
Строковое значение |
— |
|
Обязательный |
Описание группы серверов и параметров соединения с backend |
Последовательность параметров, описанных в разделе Параметр upstream |
— |
|
Опциональный (обязательный, если указан |
Технологическое название сервиса, используемое для идентификации в логах транзакций. Значение должно быть уникальным |
Строковое значение |
Значение задается пользователем |
|
Опциональный |
Строка с описанием сервиса. Значение не является уникальным |
Текстовое значение |
Значение задается пользователем |
|
Опциональный |
Вкл./Откл. балансировки на уровне main сервиса |
|
|
|
Опциональный |
Таймауты, сессия, ограничения, утилиты и др. |
Параметры, описанные в разделе «MainProxy - optional» |
Значения группы задаются пользователем |
|
Опциональный |
Фильтр modsecurity (проверка трафика на угрозы) и фильтр icap (проверка на вирусы). Наследуется всеми сервисами, указанными после service_main_proxy |
Группа параметров и их значения |
Значения группы задаются пользователем |
|
Опциональный (deprecated) |
Валидация тела запроса/ответа. Рекомендуется использовать JsonValidation и XsdValidation |
Параметры, описанные в разделе Валидация |
Значения группы задаются пользователем |
|
Опциональный |
Изменение содержимого заголовков запроса и ответа |
Параметры, описанные в разделе Параметр modifiers |
Значения группы задаются пользователем |
|
Опциональный |
Постобработчик postprocessor_error для формирования сообщения об ошибки по шаблону. Наследуется всеми сервисами, указанными после service_main_proxy |
Параметры, описанные в разделе Постобработчик postprocessor_error |
Значения группы задаются пользователем |
Пример:
version: 2.0.3
profile_version: XXX
profile: uko_web
system:
wrk_count: 4
conn_count: 4096
service:
service_main_proxy:
- id: 1
listen:
- port: 8443
ssl:
certificate: server_dev.cer
certificate_key: server_dev.key
protocols:
- TLSv1.2
ciphers_str: "HIGH:!aNULL:NULL-SHA256"
session_cache:
type: "shared"
name: "TLS"
size: 20m
hostname:
- localhost
- 127.0.0.1
url: /
optional:
file_upload_limit: off
limit_req:
enabled: false
target: src_ip
rate: 1000
burst: 2000
status_code: 429
upstream_groups:
- id: upstream_groups_v1
server: '127.0.0.1:18091'
weight: '5'
postprocessors:
!include: postprocessor_error.yml
filters:
filter_mds:
config:
SecAuditLogParts: ABFHIJKZG
custom_rules:
- ufs_rules/rules.conf
service_http_proxy:
!include: **/services.yml
MainProxy - optional#
Название |
Обязательность |
Описание |
Возможные значения |
Значение по умолчанию |
|---|---|---|---|---|
|
Опциональный |
Переопределение уровня логирования для сервиса |
|
Наследуется от значения в |
|
Опциональный |
Таймаут при чтении заголовка запроса клиента |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Таймаут при чтении тела запроса клиента |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Максимальное число запросов, которые можно сделать по одному keep-alive соединению |
Целочисленное значение |
|
|
Опциональный |
Таймаут при передаче ответа клиенту (между двумя операциями записями) |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Включение поддержки http сессии (session_module: отслеживание http запросов, запись информации о сеансе, установка cookie в браузере клиента) |
|
|
|
Опциональный |
Таймаут сессии |
Целочисленное значение |
|
|
Опциональный |
Имя куки сессии |
Текстовое значение |
|
|
Опциональный |
Время ожидания после отправки SEnginx ответа перенаправления клиенту в секундах. Не должно быть больше |
Целочисленное значение |
|
|
Опциональный |
Возможность просматривать информацию о текущих сессиях |
|
|
|
Опциональный |
Сброс TCP-соединения при попытке загрузки файла с заголовком «multipart/form-data». Защита от DOS-атак |
|
|
|
Опциональный |
Ограничение размера тела запроса |
Группа параметров (size, drop, enable) |
|
|
Обязательный (в рамках |
Максимальный размер тела запроса |
Текстовое значение с суффиксом: число (байты), |
— |
|
Опциональный (в рамках |
Сброс соединения при превышении size |
|
|
|
Опциональный (в рамках |
Включение ограничения размера тела запроса |
|
|
|
Опциональный |
Ограничение размера тела ответа |
Группа параметров (size, drop, status) |
|
|
Обязательный (в рамках |
Максимальный размер тела ответа |
Текстовое значение с суффиксом: число (байты), |
— |
|
Опциональный (в рамках |
Сброс соединения при превышении size |
|
|
|
Опциональный (в рамках |
Статус код при превышении размера тела ответа |
Текстовое значение |
|
|
Опциональный |
Версия протокола HTTP для проксирования |
|
|
|
Опциональный |
Текст, который нужно изменить в атрибуте domain полей Set-Cookie заголовка ответа proxy-service |
Группа параметров (from, to) |
Отключен |
|
Обязательный (в рамках |
Текст, который нужно изменить в атрибуте |
Строковое значение |
— |
|
Обязательный (в рамках |
Текст, на который нужно будет изменить |
Строковое значение |
— |
|
Опциональный |
Таймаут для установления соединения с proxy-service |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Таймаут при чтении ответа proxy-service |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Таймаут при передаче запроса proxy-service |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Размер корзины для хэш-таблиц, используемых директивой set_header |
Текстовое значение |
|
|
Опциональный |
Максимальный размер хэш-таблиц, используемых директивой set_header |
Текстовое значение |
|
|
Опциональный |
Определение имен переменных и их значений |
Последовательность параметров (name, value) |
Значения последовательности задаются пользователем |
|
Обязательный (в рамках |
Имя переменной |
Текстовое значение |
— |
|
Обязательный (в рамках |
Значение переменной |
Текстовое значение |
— |
|
Опциональный |
Секция параметров телеметрии |
Параметры, описанные в разделе Параметр opentelemetry_tracing |
Значения группы задаются пользователем |
|
Опциональный |
Максимальное количество заголовков в клиентском запросе |
Целочисленное значение |
|
|
Опциональный |
Журналирование событий. Наследуется всеми сервисами, указанными после service_main_proxy |
Параметры, описанные в разделе Параметр event_hook |
Значения группы задаются пользователем |
|
Опциональный |
Определение безопасных заголовков ответа |
Параметры, описанные в разделе Параметр security_headers |
Значения группы задаются пользователем |
|
Опциональный |
Исключение сервисов из статистики учета реквестов/респонсов |
Последовательность строковых значений. Параметры описаны в разделе Параметр exclude_stat |
Значения последовательности задаются пользователем |
|
Опциональный |
Ограничение скорости обработки запросов |
Параметры, описанные в разделе Параметр limit_req |
Значения группы задаются пользователем |
|
Опциональный |
Ограничение запросов |
Параметры, описанные в разделе Параметр limit_requests |
— |
|
Опциональный |
Противодействие роботам и сканированию портов |
Параметры, описанные в разделе Параметр robot_mitigation |
Значения группы задаются пользователем |
|
Опциональный |
Мониторинг поведения пользователей при доступе к серверу |
Параметры, описанные в разделе Параметр ip_behavior |
Значения группы задаются пользователем |
|
Опциональный |
Отслеживание заголовков Set-Cookies и значений cookie в ответе. Зависит от session_module |
Параметры, описанные в разделе Параметр cookie_poisoning |
Значения группы задаются пользователем |
|
Опциональный |
Сжатие ответа методом gzip |
Параметры, описанные в разделе Параметр gzip |
Значения группы задаются пользователем |
|
Опциональный |
Настройка файлового асинхронного ввода-вывода |
Параметры, описанные в разделе Параметр async_io |
Значения группы задаются пользователем |
|
Опциональный |
Параметры req_gunzip |
Параметры, описанные в разделе Параметр req_gunzip |
Значения группы задаются пользователем |
|
Опциональный |
Правила маскирования чувствительной информации в логах |
Параметры, описанные в разделе Параметр log_masking_rules |
— |
|
Опциональный |
Настройки входящих подключений по протоколу http2 |
Параметры, описанные в разделе Параметр http2 |
— |
|
Опциональный |
Параметры отправки событий конфигуратора |
Параметры, описанные в разделе Параметр logging |
— |
|
Опциональный |
Запрет использования HTTP pipelined requests для входящих запросов |
|
|
|
Опциональный |
Ограничение приема входящих соединений только по протоколу http2 |
|
|
|
Опциональный |
Максимальное время обработки запросов в рамках keep-alive соединения |
Текстовое значение с суффиксом: |
|
|
Опциональный |
Возврат временного (302, 307) или постоянного (301, 308) перенаправления |
Группа параметров (from, to, type, condition) |
Значения группы задаются пользователем |
|
Обязательный (в рамках |
Регулярное выражение URI запроса |
Текстовое значение |
— |
|
Обязательный (в рамках |
Заменяющая строка |
Текстовое значение |
— |
|
Опциональный (в рамках |
Тип перенаправления. Допускается несколько типов |
|
|
|
Опциональный (в рамках |
Выражение (var, operator, val). Перенаправление при выполнении условия |
Последовательность параметров (var, operator, val) |
— |
|
Обязательный (в рамках |
Обозначение имени переменной |
Текстовое значение |
— |
|
Обязательный (в рамках |
Оператор выражения |
|
— |
|
Обязательный (в рамках |
Значение переменной |
Текстовое значение |
— |
Пример upload_size_limit:
upload_size_limit:
size: 40M
drop: on
enable: true
Пример download_size_limit:
download_size_limit:
size: 50k
drop: off
status: 413
Пример cookie_domain:
cookie_domain:
from: localhost
to: example.org