Тип cервиса GostProxy#

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

service:
  service_gost_proxy:

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

  • TLS → GOST TLS

    Если требует клиентское подключение к ГОСТ сервису:

    Для слушателя SOWA - настраивается service_http_proxy, согласно общим правилам из его документации. Для перенаправления потока в ГОСТ proxy - создается второй сервис типа service_gost_proxy. В директиве listen которого указывается тип encryption: gost, затем в следующей вложенной директиве proxy указывается сервер, на который будут перенаправляться запросы, а также ГОСТовые хранилища ключей.

  • GOST TLS → TLS

    Если требует определить сову как сервер, к которому будет устанавливаться ГОСТ подключение:

    Для ГОСТ слушателя SOWA - настраивается сервис service_gost_proxy, у которого в директиве listen выставляется порт, encryption: gost, а так же ГОСТовые хранилища ключей.

    Для перенаправления потока в обычный proxy - создается второй сервис service_http_proxy, который настраивается согласно общим правилам из его документации.

  • GOST TLS→ GOST TLS

    Если требуется ГОСТ с обеих сторон, для ГОСТ слушателя SOWA - настраивается сервис service_gost_proxy, у которого в директиве listen выставляется порт, encryption: gost, а так же ГОСТовые хранилища ключей.

    Для перенаправления потока в ГОСТ proxy - создается второй сервис типа service_gost_proxy. В директиве listen которого указывается тип encryption: gost, затем в следующей вложенной директиве proxy указывается сервер, на который будут перенаправляться запросы, а так же ГОСТовые хранилища ключей.

    Затем создается сервис service_http_proxy, через upstream которого соединяются два ГОСТовых сервиса.

Сервис представляет собой последовательность, включающую в себя следующие параметры:

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

  • id

    Идентификатор сервиса в контексте всего профиля. Используется, например, в названии директории и других системных файлах, хранящих информацию о сервисе.

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

    Идентификатор может быть строкой, числом, или их комбинацией. В качестве разделителя слов необходимо использовать знак нижнее подчеркивание " _ ".

    Количество сервисов не ограничено конфигуратором явно.

    - id: 1
      ...
    - id: my_service_one
      ...
    

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

  • passwords_path

    Относительный путь до файла с паролями для SOWA.

    Пример заполнения:

    server.gost.truststore.password=testCon2
    server.gost.keystore.password=testCon2
    client.gost.truststore.password=testCon2
    server.rsa.truststore.password=123456
    server.rsa.keystore.password=123456
    client.rsa.keystore.password=123456
    client.rsa.truststore.password=123456
    

    Путь задается относительно /sowa/profile_storage/custom/ИМЯ_ПРОФИЛЯ/

    При выполнении конфигурирования (sowa-config --config) вырезает файл с паролями из данного каталога и вставляет в закрытый раздел совы.

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

  • listen

    Параметры последовательности listen, типа сервиса GostProxy, позволяют "слушать" входящее соединение…

    Последовательность, включающая в себя параметры, описанные в разделе "GostProxy - listen".

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

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

  • name

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

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

    Обязательно в случае:

    optional:
      event_hook:
        ...
    

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

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

  • profile_version

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

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

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

  • description

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

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

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

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

  • optional

    Группа optional используется в сервисе для:

    • вызова различных таймаутов;

    • ограничения по размеру Xms и Xmx jvm;

    • и др.

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

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

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

GоstProxy - listen#

Параметры последовательности listen типа сервиса GostProxy позволяют "слушать" входящее соединение.

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

  • proxy

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

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

    • service_id

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

      Обязательно в случае:

      server is None;
      listen:
      - port is not None.
      

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

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

    • service_type

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

      Обязательно в случае:

      • service_id is not None.

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

      • service_main_proxy;

      • service_http_proxy;

      • service_http_kafka_proxy;

      • service_http_mq_proxy;

      • service_gost_proxy.

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

    • server

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

      Обязательно в случае:

      • server is None;

      • listen:

        • port is not None.

      Или listen:

      • encryption: rsa.

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

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

    • truststore

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

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

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

    • keystore

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

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

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

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

  • port

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

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

    Обязательно в случае:

    • encryption: rsa.

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

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

  • encryption

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

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

    • gost;

    • rsa.

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

    encryption: gost
    
  • truststore

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

    Обязательно в случае:

    • port is not None.

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

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

  • keystore

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

    Обязательно в случае:

    • port is not None.

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

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

  • optional

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

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

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

    • socket_max_concurrent_connections

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

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

      listen:
      - port is None.      
      

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

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

      socket_max_concurrent_connections: 10
      
    • socket_timeout

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

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

      listen:
      - port is None.      
      

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

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

      socket_timeout: 1000
      
    • socket_busy_timeout

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

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

      listen:
      - port is None.      
      

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

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

      socket_busy_timeout: 1000
      

GоstProxy - optional#

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

  • xmx

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

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

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

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

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

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

    xmx: 64m
    
  • xms

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

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

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

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

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

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

    xms: 32m
    
  • jvm_options

    Список JVM-опций для запуска сервиса. Опции, начинающиеся с Xmx и Xms игнорируются, так как для этого есть два предыдущих параметра. Каждая опция должна записываться в одну строку и не содержать специальных символов (табуляция, перевод строки). Опции, содержащие пробелы, автоматически экранируются, дополнительно проставлять кавычки не нужно.

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

    jvm_options:
      - -Doption.one=some
      - -Dcucumber.tags=@case_one and (@case_two or @deploy)
    

    По умолчанию: не задается ни каких дополнительных jvm-опций.

  • log_level

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

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

    • debug;

    • info;

    • notice;

    • warn;

    • error;

    • crit;

    • alert;

    • off.

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

  • headers_xff_policy

    Политика обработки XFF (X-FORWARDED-FOR) заголовка:

    • rewrite - Перезаписываем заголовок, даже, если он существует.

    • save - Оставляем заголовки как есть

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

    • rewrite;

    • save.

    По умолчанию: сохраняются все заголовки.

  • headers_xrp_policy

    Политика обработки XRP (X-REAL-IP) заголовка:

    • rewrite - Перезаписываем заголовок, даже, если он существует.

    • save - Оставляем заголовки как есть

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

    • rewrite;

    • save.

    По умолчанию: сохраняются все заголовки.

  • keepalive_timeout

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

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

    • ms - миллисекунда;

    • s - секунда;

    • m - минута;

    • h - час;

    • d - день;

    • w - неделя;

    • M - месяц (30 дней);

    • y - год (365 дней).

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

    keepalive_timeout: 75s
    
  • proxy_connect_timeout

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

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

    • ms - миллисекунда;

    • s - секунда;

    • m - минута;

    • h - час;

    • d - день;

    • w - неделя;

    • M - месяц (30 дней);

    • y - год (365 дней).

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

    proxy_connect_timeout: 60s
    
  • proxy_connect_timeout

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

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

    • ms - миллисекунда;

    • s - секунда;

    • m - минута;

    • h - час;

    • d - день;

    • w - неделя;

    • M - месяц (30 дней);

    • y - год (365 дней).

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

    proxy_connect_timeout: 60s
    
  • proxy_read_timeout

    В значении параметра задается таймаут при чтении ответа proxy-service.

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

    • ms - миллисекунда;

    • s - секунда;

    • m - минута;

    • h - час;

    • d - день;

    • w - неделя;

    • M - месяц (30 дней);

    • y - год (365 дней).

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

    proxy_read_timeout: 60s
    
  • proxy_read_timeout

    В значении параметра задается таймаут при чтении ответа proxy-service.

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

    • ms - миллисекунда;

    • s - секунда;

    • m - минута;

    • h - час;

    • d - день;

    • w - неделя;

    • M - месяц (30 дней);

    • y - год (365 дней).

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

    proxy_read_timeout: 60s
    
  • proxy_connections_limit

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

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

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

    proxy_connections_limit: 50
    
  • proxy_host_connections_limit

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

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

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

    proxy_host_connections_limit: 50