Тип сервиса ServiceStatic#

Сервисы типа service_static предназначены для раздачи статического контента.

В контексте service объявляется соответствующий тип сервиса service_static:

service:
  service_static:

ServiceStatic - основные параметры#

Название

Обязательность

Описание

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

Значение по умолчанию

id

Обязательный

Идентификатор сервиса в контексте всего профиля. Используется, например, в названии директории и других системных файлах. Значение должно быть уникальным. Количество сервисов не ограничено

Текстовое значение (строка, число или их комбинация, разделитель — «_»)

—

url

Обязательный

Относительный url, на котором будет работать сервис. Есть возможность использовать регулярное выражение. Значение должно быть уникальным

Текстовое значение

—

name

Опциональный (обязательный, если указан optional/event_hook)

Технологическое название сервиса, используемое для идентификации в логах транзакций. Значение должно быть уникальным

Строковое значение

Значение задается пользователем

profile_version

Опциональный

Версия профиля данного сервиса

Текстовое значение

Значение задается пользователем

description

Опциональный

Строка с описанием сервиса. Значение не является уникальным

Текстовое значение

Значение задается пользователем

listen

Опциональный

Настройки прослушивания. Если не указан, используются unix-сокеты

Последовательность параметров, описанных в разделе Параметр listen

Значения последовательности задаются пользователем

hostname

Опциональный

Виртуальное имя сервера

Последовательность строковых значений

Значения строковой последовательности задаются пользователем

response_headers

Опциональный

Заголовки ответа

Последовательность параметров (name, value, value_from_header)

Значения последовательности задаются пользователем

response_headers.name

Обязательный (в рамках response_headers)

Имя заголовка ответа

Строковое значение

—

response_headers.value

Обязательный (если value_from_header is None)

Значение заголовка ответа

Строковое значение

—

response_headers.value_from_header

Обязательный (если value is None)

Имя заголовка запроса для установки его значения в заголовок ответа

Строковое значение

—

chains

Опциональный

Механизм для построения цепочек валидаторов любой сложности

Параметры, описанные в разделе Параметр chains_request

Значения группы задаются пользователем

response_generator

Опциональный

Генерация ответов

Параметры, описанные в разделе Параметр response_generator

Значения группы задаются пользователем

allowed_queries

Опциональный

Указание разрешенных методов запроса и параметров запроса

Параметры, описанные в разделе Параметр allowed_queries

Значения группы задаются пользователем

optional

Опциональный

Указание статических ресурсов, index и др.

Параметры, описанные в разделе «ServiceStatic - optional»

Значения группы задаются пользователем

Пример минимальной настройки:

version: 2.0.3
profile: profile_name
system:
  wrk_count: 4
  conn_count: 2048
  optional:
    wrk_user: sowactl
    log_level: error
service:
  service_static:
    - id: js
      listen:
        - port: 8080
      hostname:
        - localhost
      description: static JS scripts
      url: /analytics
      optional:
        index: bundle.js

ServiceStatic - optional#

Название

Обязательность

Описание

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

Значение по умолчанию

log_level

Опциональный

Переопределение уровня логирования для сервиса

debug, info, notice, warn, error, crit, alert, off

Наследуется от значения в system

group_access_log

Опциональный

Группировка access журналов по кодам состояния (2xx, 3xx, 4xx, 5xx, 404, 413, 429, 499, 500)

true, false

false

log_format

Опциональный

Формат логирования

Текстовое значение

—

root

Опциональный (если alias is None)

Корневой каталог для раздаваемого статического контента. Относительный путь от пользовательских ресурсов. Путь формируется простым добавлением URI к значению директивы root

Текстовое значение

Значение задается пользователем

alias

Опциональный (если root is None)

Каталог для замены корневого каталога, для раздаваемого статического контента. Относительный путь от пользовательских ресурсов. Поддерживает выделения из регулярного выражения url

Текстовое значение

Значение задается пользователем

absolute_alias_path

Опциональный (если alias is not None)

Указывать путь алиаса от кастомных ресурсов или абсолютно

true, false

false

index

Опциональный

Имя индексной страницы или файла

Текстовое значение

Значение задается пользователем

rewrite

Опциональный

Изменение URI в соответствии со строкой замены

Группа параметров и их значения

Значения группы задаются пользователем

rewrite.from

Обязательный (в рамках rewrite)

«Что» изменить

Текстовое значение

—

rewrite.to

Обязательный (в рамках rewrite)

На «что» изменить

Текстовое значение

—

rewrite.flag

Опциональный (в рамках rewrite)

Флаг изменения

last — завершение обработки текущего набора директив; break; redirect — временное перенаправление 302; permanent — постоянное перенаправление 301

Значение задается пользователем

etag

Опциональный

Включение etag заголовка ответа

true, false

true

uri_match_type

Опциональный

Тип совпадения URI

prefix — стандартный match; regex — match с помощью регулярного выражения; exact — точный match

regex

opentelemetry_tracing

Опциональный

Секция параметров телеметрии

Параметры, описанные в разделе Параметр opentelemetry_tracing

Значения группы задаются пользователем

response_code

Опциональный

Код состояния ответа

Целочисленное значение

Значение задается пользователем

response_body

Опциональный

Тело ответа

Текстовое значение

Значение задается пользователем

response_file

Опциональный

Файл ответа

Текстовое значение

Значение задается пользователем

client_header_timeout

Опциональный

Таймаут при чтении заголовка запроса клиента

Текстовое значение с суффиксом: ms, s, m, h, d, w, M, y

60s

client_body_timeout

Опциональный

Таймаут при чтении тела запроса клиента

Текстовое значение с суффиксом: ms, s, m, h, d, w, M, y

60s

keepalive_timeout

Опциональный

Таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера

Текстовое значение с суффиксом: ms, s, m, h, d, w, M, y

75s

keepalive_requests

Опциональный

Максимальное число запросов, которые можно сделать по одному keep-alive соединению

Целочисленное значение

10000

send_timeout_to_client

Опциональный

Таймаут при передаче ответа клиенту (между двумя операциями записями)

Текстовое значение с суффиксом: ms, s, m, h, d, w, M, y

60s

session

Опциональный

Включение поддержки http сессии (session_module: отслеживание http запросов, запись информации о сеансе, установка cookie в браузере клиента)

true, false

false

session_timeout

Опциональный

Таймаут сессии

Целочисленное значение

60

session_cookie_name

Опциональный

Имя куки сессии

Текстовое значение

SENGINX-SESSION-ID

session_redirect_timeout

Опциональный

Время ожидания после отправки SEnginx ответа перенаправления клиенту в секундах. Не должно быть больше session_timeout

Целочисленное значение

5

session_show

Опциональный

Возможность просматривать информацию о текущих сессиях

true, false

false

session_cache

Опциональный

Размер кэша для TLS(SSL) сессии

Группа параметров и их значения

Оценивается автоматически

session_cache.type

Обязательный (в рамках session_cache)

Тип размера кэша

off — жесткое запрещение; none — мягкое запрещение; builtin — встроенный в OpenSSL кэш; shared — разделяемый между рабочими процессами

—

session_cache.name

Обязательный (если type: shared)

Имя размера

Строковое значение

—

session_cache.size

Обязательный (если type: builtin или type: shared)

Величина размера

Текстовое значение с суффиксом: число (байты), k/K (килобайты), m/M (мегабайты)

—

upload_size_limit

Опциональный

Ограничение размера тела запроса

Группа параметров и их значения

size: 1Mb

upload_size_limit.size

Обязательный (в рамках upload_size_limit)

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

Текстовое значение с суффиксом: число (байты), k/K (килобайты), m/M (мегабайты)

—

upload_size_limit.drop

Опциональный (в рамках upload_size_limit)

Сброс соединения при превышении size

on, off

off

upload_size_limit.enable

Опциональный (в рамках upload_size_limit)

Включение ограничения размера тела запроса

true, false

true

download_size_limit

Опциональный

Ограничение размера тела ответа

Группа параметров и их значения

1Mb

download_size_limit.size

Обязательный (в рамках download_size_limit)

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

Текстовое значение с суффиксом: число (байты), k/K (килобайты), m/M (мегабайты)

—

download_size_limit.drop

Опциональный (в рамках download_size_limit)

Сброс соединения при превышении size

on, off

off

download_size_limit.status

Опциональный (в рамках download_size_limit)

Статус код при превышении размера тела ответа

Текстовое значение

413

set_variable

Опциональный

Определение имен переменных и их значений

Последовательность параметров и их значения

Значения последовательности задаются пользователем

set_variable.name

Обязательный (в рамках set_variable)

Имя переменной

Текстовое значение

—

set_variable.value

Обязательный (в рамках set_variable)

Значение переменной

Текстовое значение

—

limit_req

Опциональный

Ограничение скорости обработки запросов

Параметры, описанные в разделе Параметр limit_req

Значения группы задаются пользователем

limit_requests

Опциональный

Ограничение запросов

Параметры, описанные в разделе Параметр limit_requests

—

robot_mitigation

Опциональный

Противодействие роботам и сканированию портов

Параметры, описанные в разделе Параметр robot_mitigation

Значения группы задаются пользователем

ip_behavior

Опциональный

Мониторинг поведения пользователей при доступе к серверу

Параметры, описанные в разделе Параметр ip_behavior

Значения группы задаются пользователем

cookie_poisoning

Опциональный

Отслеживание заголовков Set-Cookies и значений cookie в ответе. Зависит от session_module

Параметры, описанные в разделе Параметр cookie_poisoning

Значения группы задаются пользователем

gzip

Опциональный

Сжатие ответа методом gzip

Параметры, описанные в разделе Параметр gzip

Значения группы задаются пользователем

async_io

Опциональный

Настройка файлового асинхронного ввода-вывода

Параметры, описанные в разделе Параметр async_io

Значения группы задаются пользователем

log_masking

Опциональный

Правила маскирования чувствительной информации в логах

Параметры, описанные в разделе Параметр log_masking_rules

—

logging

Опциональный

Параметры отправки событий конфигуратора

Параметры, описанные в разделе Параметр logging

—

healthcheck_dynamic

Опциональный

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

Параметры, описанные в разделе Параметр healthcheck_dynamic

—

pipelined_requests

Опциональный

Запрет использования HTTP pipelined requests для входящих запросов

on, off

on

http2_only

Опциональный

Ограничение приема входящих соединений только по протоколу http2

on, off

off

keepalive_time

Опциональный

Максимальное время обработки запросов в рамках keep-alive соединения

Текстовое значение с суффиксом: ms, s, m, h, d, w, M, y

1h

log_masking_rules

Опциональный

Правила маскирования данных в заголовках и телах запросов/ответов

Последовательность параметров и их значения

—

log_masking_rules.log_type

Опциональный (в рамках log_masking_rules)

Тип логов

all — все типы; security — логи транзакций фильтра безопасности; event — логи событий

all

log_masking_rules.object

Обязательный (в рамках log_masking_rules)

Объект, к которому применяется маскирование

request_header, response_header, request_body, response_body

—

log_masking_rules.header

Обязательный (если object = request_header/response_header)

Имя заголовка, к которому применяется маскирование

Строковое значение

—

log_masking_rules.expression

Обязательный (если object = request_body/response_body)

Регулярное выражение с группами для определения фрагмента замены

Текстовое значение

—

log_masking_rules.replace_all

Опциональный (если object = request_body/response_body)

Заменять все или первое найденное значение

on, off

on

log_masking_rules.mask_symbol

Опциональный (в рамках log_masking_rules)

Символ, который используется для замены

Строковое значение

*

Пример session_cache:

session_cache:
  type: shared
  name: my_name_size
  size: 4k

Пример upload_size_limit:

upload_size_limit:
  size: 40M
  drop: on
  enable: true

Пример download_size_limit:

download_size_limit:
  size: 50k
  drop: off
  status: 413