Базовая конфигурация system-optional#

Опциональные параметры:

  • wrk_user

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

    Имя пользователя и группы должны совпадать.

    Тип параметра: строковое значение.

    По умолчанию:

    wrk_user: sowactl
    
  • default_type

    В значении параметра задается MIME-тип ответов по умолчанию.

    Тип параметра: строковое значение.

    По умолчанию:

    default_type: application/octet-stream
    
  • log_level

    В значении параметра задается уровень логирования.

    В графе возможные значения приведен список уровней лога в порядке убывания уровня информативности.

    Например, при уровне error в лог попадают сообщения уровней error, crit и alert.

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

    • debug;

    • info;

    • notice;

    • warn;

    • error;

    • crit;

    • alert;

    • off.

    По умолчанию:

    log_level: info
    
  • log_type - группа параметров log_type предназначена для задания параметров отправки событий конфигуратора.

    Группа параметров, описанных в разделе Параметр log_type.

    Возможные значения: последовательность параметров и их значения.

    По умолчанию: не имеет значения по умолчанию.

  • pcre_jit

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

    Тип параметра: булево значение.

    • on;

    • off.

    По умолчанию: on.

  • log_format

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

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

    По умолчанию: значение задается пользователем.

    • name

      В значении параметра задается наименование формата.

      Тип параметра: текстовое значение.

    • format

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

      Тип параметра: текстовое значение.

  • map_hash_bucket_size

    В значении параметра задается размер корзины в хэш-таблицах для переменных map. Значение по умолчанию зависит от размера строки кэша процессора.

    Для быстрой обработки статических наборов данных, таких как имена серверов, значения директивы map, MIME-типы, имена полей заголовков запросов, nginx использует хэш-таблицы. Во время старта и при каждой переконфигурации nginx подбирает минимально возможный размер хэш-таблиц с учетом того, чтобы размер корзины, куда попадают ключи с совпадающими хэш-значениями, не превышал заданного параметра (map_hash_bucket_size). Размер таблицы считается в корзинах. Подбор ведется до тех пор, пока размер таблицы не превысит параметр map_hash_max_size. Для большинства хэшей есть директивы, которые позволяют менять эти параметры, например, для хэшей имен серверов директивы называются server_names_hash_max_size и server_names_hash_bucket_size.

    Параметр map_hash_bucket_size всегда выравнивается до размера, кратного размеру строки кэша процессора. Это позволяет ускорить поиск ключа в хэше на современных процессорах, уменьшив число обращений к памяти. Если map_hash_bucket_size равен размеру одной строки кэша процессора, то во время поиска ключа число обращений к памяти в худшем случае будет равно двум — первый раз для определения адреса корзины, а второй — при поиске ключа внутри корзины.

    Тип параметра: строковое значение.

    По умолчанию:

    map_hash_bucket_size: 32|64|128
    
  • map_hash_max_size

    В значении параметра задается максимальный размер хэш-таблиц для переменных map.

    Тип параметра: строковое значение.

    По умолчанию:

    map_hash_max_size: 2048
    
  • server_names_hash_max_size

    В значении параметра указывается максимальный размер хэш-таблиц имен серверов.

    Тип параметра: строковое значение.

    По умолчанию:

    server_names_hash_max_size: 512
    
  • server_names_hash_bucket_size

    В значении параметра задается размер корзины в хэш-таблицах имен серверов. Значение по умолчанию зависит от размера строки кэша процессора.

    Тип параметра: строковое значение.

    По умолчанию:

    server_names_hash_bucket_size: 32|64|128
    
  • variables_hash_max_size

    В значении параметра указывается максимальный размер хэш-таблицы переменных.

    Тип параметра: строковое значение.

    По умолчанию:

    variables_hash_max_size: 1024
    
  • variables_hash_bucket_size

    В значении параметра задается размер корзины в хэш-таблице переменных.

    Тип параметра: строковое значение.

    По умолчанию:

    variables_hash_bucket_size: 64
    
  • types_hash_bucket_size

    В значении параметра задается размер корзины в хэш-таблицах типов.

    Тип параметра: строковое значение.

    По умолчанию:

    types_hash_bucket_size: 64
    
  • types_hash_max_size

    В значении параметра задается максимальный размер хэш-таблиц типов.

    Тип параметра: строковое значение.

    По умолчанию:

    types_hash_max_size: 1024
    
  • jvm_options

    В значении параметра указываются дополнительные JVM параметры для указанного профиля. Например, -XX:+HeapDumpOnOutOfMemoryError.

    Тип параметра: последовательность текстовых значений.

    Используется в случае:

    jvm == None
    
  • jvm

    В значении параметра указываются дополнительные параметры запуска Java VM (в SOWA используется OpenJDK). Все параметры, за исключением GCType являются прямой копией аналогичных параметров JVM.

    Тип параметра: группа параметров и их значения.

    Используется в случае:

    jvm_options == None
    

    По умолчанию:

    jvm:
      Xmx: 128m
    

    Опциональные параметры:

    • Xmx

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

    Тип параметра: численно-строковый литерал формата [0-9]+[kKmMG].

    По умолчанию:

    128m
    
    • Xms

    Минимальный размер Heap.

    Тип параметра: численно-строковый литерал формата [0-9]+[kKmMG].

    По умолчанию:

    128m
    
    • MaxGCPauseMillis

    Максимальная пауза GC в миллисекундах.

    Тип параметра: число миллисекунд

    По умолчанию:

    100
    
    • ParallelGCThreads

    Количество параллельных потоков GC.

    Тип параметра: число

    По умолчанию:

    3
    
    • ConcGCThreads

    Количество одновременных потоков GC.

    Тип параметра: число

    По умолчанию:

    2
    
    • InitiatingHeapOccupancyPercent

    Процент загрузки Heap.

    Тип параметра: число

    По умолчанию:

    20
    
    • GCType

    Тип GC.

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

    • UseG1GC

    • UseSerialGC

    • UseParallelGC

    • UseParNewGC

    По умолчанию:

    UseG1GC
    
    • UseStringDeduplication

    Признак использования кеша строк.

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

    • true;

    • false.

    По умолчанию:

    false
    
    • UseCompressedStrings

    Признак использования компрессии строк.

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

    • true;

    • false.

    По умолчанию:

    false
    
    • OptimizeStringConcat

    Оптимизация склейки строк.

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

    • true;

    • false.

    По умолчанию:

    false
    
    • AggressiveOpts

    Оптимизация других параметров.

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

    • true;

    • false.

    По умолчанию:

    false
    
    • UseAES

    Использование AES.

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

    • true;

    • false.

    По умолчанию:

    false
    
    • UseAESIntrinsics

    Оптимизация AES.

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

    • true;

    • false.

    По умолчанию:

    false
    
  • ip_blacklist

    Группа ip_blacklist устанавливает динамический список ip адресов, которым запрещен доступ к сервисам.

    Группа, включающая в себя параметры, описанные в разделе Параметр ip_blacklist.

    Тип параметра: группа параметров и их значения.

    По умолчанию: значение задается пользователем.

  • session_max_size

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

    Тип параметра: целочисленное значение.

    По умолчанию: значение задается пользователем.

  • session_cache

    В значении параметра session_cache указывается имя и тип размера, а также сам размер кэша для TLS(SSL) сессии.

    Тип параметра: группа параметров и их значения.

    По умолчанию: значение задается пользователем.

    Обязательные параметры:

    • type

    В значении параметра указывается тип размера кэша.

    Значение параметра type должно быть уникальным.

    Возможные значения: - off; - none; - builtin; - shared.

    • name

    В значении параметра указывается имя размера.

    Используется в случае:

    type: shared
    

    Тип параметра: строковое значение.

    • size

    В значении параметра указывается величина размера.

    Используется в случае:

    type: builtin;
    type: shared.
    

    Тип параметра: текстовое значение с суффиксом.

    Суффиксы: - число без суффикса — байты; - k / K — килобайты; - m / M — мегабайты.

  • service_status

    Вкл./Откл. мониторинга статистики SOWA.

    URL для просмотра статистики: localhost:[порт сервиса SOWA]/status.

    Статистика доступна только для локального хоста (127.0.0.1 | localhost).

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

    • on;

    • off.

    По умолчанию:

    service_status: on
    
  • underscores_in_headers

    Параметр underscores_in_headers предназначен для разрешения использования заголовков с подчеркиванием. По умолчанию, значением параметра определен запрет на пропуск заголовков с нижним подчеркиванием. В данном случае запросы не блокируются, а заголовки, содержащие нижнее подчеркивание, не передаются. При этом данные заголовки обрабатываются директивой ignore_invalid_headers.

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

    • true;

    • false.

    По умолчанию:

    underscores_in_headers: false
    
  • autostart

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

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

    • true;

    • false.

    По умолчанию:

    autostart: true
    
  • strict_hostname_check

    Вкл./Откл. проверка имен хостов. Если имя хоста не из белого списка, то запрос будет заблокирован. При включенном параметре пользователю по умолчанию будет возвращен код 404, если указанный хост не найден. Если задан параметр hostname_error_code, то вернется значение, указанное в нем.

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

    • true;

    • false.

    По умолчанию:

    strict_hostname_check: false
    
  • hostname_error_code

    В значении параметра указывается код ошибки, возвращаемый в случае не удавшейся проверки имени хоста.

    Используется в случае:

    strict_hostname_check is not None.
    

    Тип параметра: целочисленное значение.

    По умолчанию: значение задается пользователем.

  • extended_status_zone

    Определяет зону общей памяти, используя ее для сбора расширенной статистики (цепочки, безопасность, SimpleRateLimiter).

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

    • enabled

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

      Тип параметра: текстовое значение.

      • on;

      • off.

      По умолчанию:

      enabled: on
      
    • space

      Определяет размер хранилища объектов.

      Тип параметра: текстовое значение.

      По умолчанию:

      space: 10m
      
    • entries

      Определяет количество одновременно сохраняемых объектов.

      Тип параметра: целочисленное значение.

      По умолчанию:

      entries: 32000
      
  • shared_ldap_connections

    Параметры подключения LDAP.

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

    • name

      Тип параметра: текстовое значение.

    • connection

      Включает в себя группу параметров, описанных в разделе Параметр ldap_connection

  • thread_pools

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

    По умолчанию: значение задается пользователем.

    Обязательные параметры:

    • id

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

    Значение параметра id должно быть уникальным.

    Тип параметра: текстовое значение.

    • threads_num

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

    Значение параметра id должно быть уникальным.

    Тип параметра: целочисленное значение.

    Опциональные параметры:

    • max_queue

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

    Тип параметра: целочисленное значение.

    По умолчанию: в очереди может находиться до 65536 задач.

  • async_io

    Группа параметров, отвечающих за настройку файлового асинхронного ввода-вывода.

    Группа, включающая в себя параметры, описанные в разделе Параметр async_io.

    Тип параметра: группа параметров и их значения.

    По умолчанию: значение задается пользователем.

  • maps

    В значениях последовательности maps создается новая переменная dst_var, значение которой зависит от значений одной или нескольких исходных переменных, указанных в src_var.

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

    По умолчанию: значение задается пользователем.

    Обязательные параметры:

    • src_var

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

    src_var: "$var1:$var2"
    

    Если указывается несколько переменных, то значение необходимо поместить в кавычки. Разделителем переменных может выступать любой символ (: ? ! . , ;).

    Тип параметра: текстовое значение.

    • dst_var

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

    Тип параметра: текстовое значение.

    • mapping

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

    Обязательные параметры:

    • src_val

      В значении параметра указывается одно из возможных значений переменной src_var, которое будет отображено в указанное значение (переменная dst_val) переменной dst_var в случае совпадения. Можно использовать регулярные выражения, указав перед выражением ~ (без учета регистра) или ~* (с учетом регистра). Например,

      src_val: ~$var1
      

      Тип параметра: текстовое значение.

    • dst_val

      В значении параметра определяется значение результата.

      Тип параметра: текстовое значение.

    Опциональные параметры:

    • default

    В значении параметра определяется значение по умолчанию для dst_var.

    Тип параметра: текстовое значение.

    По умолчанию:

    default: ''
    
    • volatile

    В значении параметра указывается, что переменная не кэшируется.

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

    • true;

    • false.

    По умолчанию: значение задается пользователем.

    • hostnames

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

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

    • true;

    • false.

    По умолчанию: значение задается пользователем.

    Пример использования параметра maps:

    maps:
      - src_var: $request_uri
        dst_var: $rq_uri
        volatile: true
        mapping:
          - src_val: ~^\/(PhizIC|mysn-ss-web)\/CSAFrontLogin\.do\?AuthToken=.*$
            dst_val: hc
      - src_var: "$http_cookie:$rq_uri"
        dst_var: $ups_num
        default: hc
        volatile: true
        mapping:
          - src_val: ~*^.*:hc$
            dst_val: hc
          - src_val: ~*(.*JSESSIONID=.*DPJSESSIONID=.*|.*DPJSESSIONID=.*JSESSIONID=.*):$
            dst_val: nohc
      # Замена сервер:порт в ответном хедере Location
      - src_var: $sent_http_location
        dst_var: $new_location
        volatile: true
        mapping:
          - src_val: ~*^(https?:\/\/)([^\/]+)(.*)
            dst_val: $1$host:$server_port$3
    
    
  • serve_static_file

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

    Тип параметра: последовательность параметров.

    По умолчанию: значение задается пользователем.

  • proxy_temp_tree

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

    Тип параметра: текстовое значение.

    По умолчанию: значение задается пользователем.

  • body_temp_tree

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

    Тип параметра: текстовое значение.

    По умолчанию: значение задается пользователем.

  • storages

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

    По умолчанию: значение задается пользователем.

    Обязательные параметры:

    • name

      В значении параметра определяется имя хранилища.

    Тип параметра: строковое значение.

    Опциональные параметры:

    • space

      В значении параметра определяется размер объекта хранения.

    Тип параметра: текстовое значение с суффиксом.

    Суффиксы:

    • число без суффикса — байты;

    • k / K — килобайты;

    • m / M — мегабайты.

    По умолчанию:

    space: 10m
    
    • entries

      В значении параметра определяется количество одновременно сохраненных объектов.

    Тип параметра: целочисленное значение.

    По умолчанию:

    entries: 8096
    
    • remove_time

      В значении параметра определяется время хранения объектов.

    Тип параметра: текстовое значение с суффиксом.

    Суффиксы:

    • s / S — секунды;

    • m / M — минуты.

    По умолчанию: не удаляется.

  • transformations_debug

    Вкл./Откл. журналирование отладки преобразования.

    Тип параметра:

    • true;

    • false.

    По умолчанию:

    transformations_debug: false
    
  • get_load

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

    По умолчанию: значение задается пользователем.

    Опциональные параметры:

    • enabled

      Вкл./Откл. отображение статистики загрузки сервера в переменные ($stat_cpu_usage, $stat_memory_usage).

      Тип параметра:

      • true;

      • false.

    • interval

      Интервал загрузки статистики в секундах.

      Тип параметра: целочисленное значение.

  • vault

    Секция параметров для работы с Системой управления секретами.

    Секция, включающая в себя параметры, рассмотренные в разделе «Параметр vault».

    Тип параметра: секция параметров и их значения.

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

  • healthcheck_dynamic

    Настройка динамической генерации ответов на запросы о текущем состоянии экземпляра или сервиса, объявленного в конфигурации.

    Секция, включающая в себя параметры, рассмотренные в разделе «Параметр healthcheck_dynamic».

    Тип параметра: секция параметров и их значения.

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

  • healthcheck

    Обязательные параметры:

    • url

      В значении параметра определяется url для healthcheck-запросов. Указывается, как строка, а не регулярное выражение — для поиска полного соответствия и минимального пересечения с основными сервисами.

    Тип параметра: строковое значение.

    Опциональные параметры:

    • content_type

    В значении параметра определяется возвращаемый MIME тип.

    Тип параметра: текстовое значение.

    • content_encoding

    В значении параметра определяется возвращаемый MIME тип.

    Тип параметра: текстовое значение.

    • disable_access_log

    Отключает запись access-логов.

    Тип параметра:

    • true;

    • false.

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

    disable_access_log: false
    
    • disable_error_log

    Отключает запись error-логов.

    Тип параметра:

    • true;

    • false.

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

    disable_error_log: false
    
    • disable_gathering_stats

      Отключает сбор статистики.

      Тип параметра:

      • true;

      • false.

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

      disable_gathering_stats: false
      
  • disable_listen

    Вкл./откл. прослушивание портов запущенного профиля в зависимости от заданных условий.

    Обязательные параметры:

    • condition

      Последовательность параметров.

      • check_type

        Обязательный параметр.

        Тип параметра: текстовое значение.

      • drain_is_up

        Декодирует состояние утечки upstream, как состояние «up».

        Используется в случае:

        check_type: no_live_upstream
        

        Тип параметра: текстовое значение.

        • on;

        • off.

        По умолчанию: on.

      • passive_hc_mode

        Устанавливает режим декодирования состояния upstream с пассивным health-check.

        Используется в случае:

        check_type: no_live_upstream
        

        Тип параметра: текстовое значение.

        • «exclude» - слушающие порты, связанные с сервисом с upstream группой с пассивным hc, будут исключены из режима автоматической остановки/запуска прослушивания.

        • «ignore» - состояние upstream-группы с пассивным hc всегда «up».

        • «include» - состояние upstream-группы с пассивным hc всегда просчитывается и используется.

        По умолчанию:

        passive_hc_mode: exclude
        
      • not_binded_mode

        Дополнительно закрывает слушающие порты в сервисе, не привязанном к upstream-группам. Уникальное значение.

        Используется в случае:

        check_type: no_live_upstream
        

        Тип параметра: текстовое значение.

        • «status» - сервис статуса профиля;

        • «non_upstream» - сервисы без http upstream-групп.

      • custom_binds

        Позволяет указывать порты вручную - upstream-группы для автоматического закрытия и слушания. Используется, когда сервис, привязанный к какому-либо порту, не имеет upstream-группы (например, service_http_kafka_proxy).

        Используется в случае:

        check_type: no_live_upstream
        
        • port

          Порт для автоматического закрытия.

          Тип параметра: целочисленное значение.

          Min: 0

          Max: 65535

        • service_id

          ID сервиса, upstream-группа которого будет использоваться.

        • service_type

          Тип сервиса, upstream-группа которого будет использоваться.

          Тип параметра: текстовое значение.

          • «service_main_proxy»;

          • «service_http_proxy»;

          • «service_web_socket_proxy».

        • upstream_id

          ID upstream-группы.

          Тип параметра: текстовое значение.

      • skip_ports

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

        Тип параметра: целочисленное значение.

        Min: 0

        Max: 65535

    Опциональные параметры:

    • active

      Включает слушающие порты согласно условиям.

      Тип параметра: булево значение.

      • true;

      • false.

      По умолчанию:

      active: false
      
  • opentelemetry

    Общие параметры для трассировки Opentelemetry.

    Тип параметра: группа параметров и их значения.

    По умолчанию: не имеет значения по умолчанию.

    • exporter

      Определяет параметры соединения с OTLP/GRPC агентом. Обязательный параметр.

      Тип параметра: группа параметров и их значения.

      • endpoint

        Адрес OTLP/gRPC конечной точки, которая будет получать данный телеметрии. Обязательный параметр.

        Тип параметра: текстовое значение.

      • interval

        Максимальный интервал между двумя экспортами.

        Тип параметра: текстовое значение.

        По умолчанию:

        interval: 5s
        
      • batch_size

        Максимальное количество интервалов, отправляемых в одном пакете на один рабочий процесс.

        Тип параметра: целочисленное значение.

        По умолчанию:

        batch_size: 512
        
      • batch_count

        Количество ожидающих обработки пакетов на один рабочий процесс. Интервалы, превышающие это ограничение, будут сброшены.

        Тип параметра: целочисленное значение.

        По умолчанию:

        batch_count: 4
        
    • service_name

      Задает “service.name” атрибут OTel ресурса.

      Тип параметра: текстовое значение.

      По умолчанию:

      service_name: profile_name.sowa
      
    • chains_tracing

      Определяет параметры трассировки действий в цепочках.

      Тип параметра: группа параметров и их значения.

      • enabled

        Включает или отключает трассировку действий в цепочках.

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

        • true;

        • false.

      • disableAllChainsByDefault

        Отключает трассировку всех цепочек.

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

        • true;

        • false.

        По умолчанию:

        disableAllChainsByDefault:true
        
    • parameter_opentelemetry_tracing

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

      Секция, включающая в себя параметры, рассмотренные в разделе «Параметр opentelemetry_tracing».

      Тип параметра: секция параметров и их значения.

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

  • buffers

    Секция параметров буферизации.

    Секция, включающая в себя параметры, рассмотренные в разделе «Параметр buffers».

    Тип параметра: секция параметров и их значения.

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

  • worker_clean_cache_on_fail

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

    Тип параметра:

    • true - файлы очищаются;

    • false - файлы не очищаются.

    По умолчанию:

    worker_clean_cache_on_fail: true
    
  • worker_cpu_affinity

    Привязывает рабочие процессы к наборам процессоров. Каждый набор процессоров представлен битовой маской разрешенных процессоров. Для каждого рабочего процесса должен быть определен отдельный набор. По умолчанию рабочие процессы не привязаны к каким-либо конкретным процессорам.

    Тип параметра: текстовое значение.

    По умолчанию:

    worker_cpu_affinity: auto
    

    Ниже приведены примеры значений директивы:

    worker_cpu_affinity: "0001 0010 0100 1000"
    
    worker_cpu_affinity: "0101 1010"
    
    worker_cpu_affinity: "auto"
    
    worker_cpu_affinity: "auto 01010101"
    
    worker_cpu_affinity: "00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000"
    
    
  • allocator_type

    Выбирает распределитель SOWA.

    Тип параметра: строковое значение.

    • „std“;

    • „mimalloc“;

    • „jemalloc“.

    По умолчанию:

    allocator_type: mimalloc
    
  • allocator_env

    Настройка среды для распределителя.

    Используется в случае:

    allocator_type не задан.

    Тип параметра: последовательность текстовых значений.