Параметры настройки#

Введение#

Раздел содержит описание параметров конфигурационного файла для настройки IAM Proxy.

Пример конфигурации#

ZoneConfig[Core]:
  JunctionConfig[rds-for-proxy]:
    junctionName: "RDS Server"
    junctionPoint: /rds-for-proxy
    indexUrl: /rds-for-proxy
    transparent: "true"
    https: "false"
    sslCommonName: 'node1.rds-ift2.sc.dev.mycompany'
    applyJctRequestFilter: ""
    serverAddresses:
    - node1.rds-ift2.sc.dev.mycompany:9443

  Zone[offline]:
    Junction[rds-for-proxy]:
      serverAddresses:
      - node2.rds-ift2.sc.dev.mycompany:9443
  Zone[standin]:
    Junction[rds-for-proxy]:
      serverAddresses:
      - node3.rds-ift2.sc.dev.mycompany:9443
  zoneNameStandin: standin
  zoneNameOffline: offline

checkConfigurationFrequency: 10
checkStandInFrequency: 10
httpClientMaxPoolSize: 1
manualMode: "false"
transportRequestTimeout: 9
usePlatformSemaphore: "true"

Группа ZoneConfig#

Группа ZoneConfig содержит основные параметры конфигурации IAM Proxy.

JunctionConfig#

Группа основных параметров ответвления junction IAM Proxy. Название ответвления, отображается только на стартовой странице IAM Proxy.

На стартовой странице допускается объединять ответвления в группы. Это позволяет упорядочить список ответвлений на UI и не влияет на процесс проксирования.

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

Название и состав группы ответвлений, определяет пользователь.

Пример: "Группа ответвлений/мое ответвление" - на стартовой странице IAM Proxy в списке появится раскрываемая строка с названием "Группа ответвлений". При раскрытии в списке появятся "мое ответвление".

Параметр

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

Описание

Пример

junctionName

Отсутствует

Название ответвления, отображается и существует только на стартовой странице IAM Proxy. Также, на стартовой странице доступно объединение ответвлений в группы (объединение позволяет визуально упорядочить список, на процесс проксирования влияния не оказывает). Для этого необходимо сначала указать название группы, затем, через / название самого ответвления, например:Группа ответвлений / мое ответвление. На стартовой странице IAM Proxy в списке появится раскрываемая строка с названием "Группа ответвлений". После раскрытия в списке появятся строки с ответвлениями из развернутой группы, в нашем примере, появится "мое ответвление"

Контур "Компания"/Страница администрирования контура "Компания"

description

Отсутствует

Описание ответвления, отображается и существует только на стартовой странице IAM Proxy

Страница предназначена для администрирования контура "Компания"

junctionPoint *

Отсутствует

Параметр, определяющий абстрактные директории на уровне IAM Proxy. Формирует URL вида:https://proxy.com/myJunctionPoint. При HTTP Request на данный URL пользователь получит HTTP Answer корневого каталога Backend. Этот параметр позволяет определить принадлежность запроса к конкретному сервису, конкретного Backend. Также по нему станет доступен какой-либо подкаталог из Backend, например: https://proxy.com/myJunctionPoint/index.html - в качестве ответа пользователь получит файл index.html лежащий в корневой директории Backend. Возможно также создать ответвление в "корень" сервиса IAM Proxy. В качестве значения необходимо указать /. Стартовая страница пропадет, и запросы с proxy.com/ будут идти напрямую на указанный Backend

/company

indexUrl

Отсутствует

Параметр предназначен для формирования ссылки на стартовой странице IAM Proxy и не влияющий на процесс проксирования. Пример: требуется настроить проксирование со страницы IAM Proxy testpage/index.tml на страницу Backend: 1. При значении false параметра transperent: https://backend.com/junctionPoint/index.html - корневая страница Backend https://backend.com/junctionPoint/testpage/index.html - страница, на которую хотелось бы попадать со стартовой страницы IAM Proxy. При значении true параметра transperent: https://backend.com/index.html - корневая страница Backend; https://backend.com/testpage/index.html - страница, на которую хотелось бы попадать со стартовой страницы IAM Proxy. В случае указания в данном параметре /testpage/index.html, будет производиться редирект со стартовой страницы IAMProxy SE, на страницу https://backend.com/junctionPoint/testpage/index.html или https://backend.com/testpage/index.html, хотя корневой контекст Backend будет другим https://backend.com/junctionPoint/index.htmlили https://backend.com/testpage/index.html. Если оставить данный параметр пустым, либо указать "-", то ссылка на данное ответвление не будет отображаться на стартовой странице IAM Proxy. Для того чтобы попадать на корневую страницу Backend, необходимо в данный параметр указать "/"

/admin

transparent *

False

Тождество ("прозрачность" или "одинаковость"), равенство той части URL, в которой содержится директория до ресурса. Параметр определяет, будет ли передаваться junctionPoint внутри URL на Backend и обратно. True - при проксировании запросы будут проходить без изменения URL на каком либо этапе. URL отправленный в сервис IAM Proxy (к примеру, введенный пользователем в адресной строке браузера), будет совпадать с URL который придет на Backend (на сервер приложения). В обратном случае: URL ответа от Backend будет совпадать с URL пришедшим пользователю от IAM Proxy. Например: Отправленный HTTP Request от пользователя → IAM Proxy → Полученный HTTP Request на Backend https://proxy.com/junctionPoint/index.html → IAM Proxy → https://backend.com/junctionPoint/index.html. Полученный HTTP Answer к пользователю ← IAM Proxy ← Отправленный HTTP Answer от Backend https://proxy.com/junctionPoint/page.html ← IAM Proxy ← https://backend.com/junctionPoint/page.html. False - значение из junctionPoint будет вырезано из URL запросов, и вставлено в URL контента ответов. Из URL отправленной в сервис IAM Proxy (к примеру, введенный пользователем в адресной строке браузера), будет вырезан junctionPoint из URL который придет на Backend (на сервер приложения). И наоборот: в URL ответа от Backend будет добавлен параметр junctionPoint. Отправленный HTTP Request от пользователя → IAM Proxy → Полученный HTTP Request на Backend https://proxy.com/junctionPoint/index.html → IAM Proxy → https://backend.com/index.html. Полученный HTTP Answer к пользователю ← IAM Proxy ← Отправленный HTTP Answer от Backend https://proxy.com/junctionPoint/page.html ← IAM Proxy ← https://backend.com/page.html

True

https *

True

Параметр, для определения типа запросов подключения к Backend. True — на Backend используется SSL для доступа к сервису. False — на Backend не используется SSL для доступа к сервису

False

sslCommonName

.mycompany.ru

Шаблон\значение имени из CN сертификата Backend-серверов, используется при соединении с backend по HTTPS. Значение * (звездочка) отключает проверку SSL

.ourcompany.ru

serverAddresses[]

Отсутствует

Параметр, принимающий на вход список Backends, для осуществления проксирования запросов и ответов, в рамках данного ответвления, с помощью IAM Proxy. Минимальное количество: 1 Backend. Указывается в формате: address:port

10.X.X.1:9443 abs-4.mycompany.mycompany.ru:8080

applyJctRequestFilter

Отсутствует

Применить фильтр (конфигурацию), для запросов на этот junction. Возможно задать набор из следующих значений (через запятую):common/oidc-unauth-access.location.conf - отключение функциональности по аутентификации\авторизации на ответвлении;common/rds-set-header-host-to-backend.location.conf - переопределение заголовка Host в сторону Backend, с указанием первого сервера из пула балансировки (необходимо использовать при проксировании в сторону OpenShift);common/rds-ssl-sni-on.server.conf - разрешает передачу имени сервера по SNI, fqdn-имя сервера обязательно задается в proxy_ssl_name (необходимо использовать при проксировании в сторону OpenShift при routes с типом passthrough).

common/set-authz-by-role-admin.location.conf

Примечание:

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

Полный набор значений для applyJctRequestFilter в разделе Файлы дополнительных опций для ответвлений.

Группа ZoneConfig#

Группа параметров для всех возможных зон.

Параметр

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

Описание

Пример

zoneNameStandin *

standin

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

zone1

zoneNameOffline *

offline

Параметр предназначен для задания кастомизированного имени зоны offline. Данная зона используется при недоступности основной и StandIn зоны (например идет переключение на StandIn)

zone2

Примечание:

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

Группа ZoneConfig/Zone (default*/standin/offline)#

Группа предназначена для настроек конкретной зоны.

Параметр

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

Описание

Пример

applyRequestFilter **

Отсутствует

Применить фильтр (конфигурацию) ко всем запросам всех перечисленных ответвлений (junctions)

common/rewrite-response-is-offline.server.conf

Примечание:

* - Пример конфигурации, представленной выше, относится к тенанту/RN core. Значение тенанта может/будет отличаться в зависимости от стенда.

** - параметр применим для всех видов зон (default, standin, offline).

Группа ZoneConfig/Zone[]/Junction[]#

Группа предназначена для настроек конкретного ответвления (junction) в рамках указанной зоны.

Параметр

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

Описание

Пример

serverAddresses[]

Отсутствует / serverAddresses[]

Каждый endpoint должен быть описан строкой следующего вида: адрес узла[:'порт']. Где: адрес узла – IP-адрес узла кластера или его DNS-имя; порт – порт, по которому происходит перенаправление (по умолчанию 443)

abs-5.mycompany.ru:4444

Параметры в корневом контексте#

Данная группа содержит основные параметры конфигурации работы RDS-Server.

Параметр

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

Описание

Пример

checkConfigurationFrequency *

60

Частота проверки изменений в конфигурации (задается в секундах)

1

checkStandInFrequency *

10

Частота проверки флагов состояния контуров StandIn в ПЖ (задается в секундах)

35

httpClientMaxPoolSize *

1

Максимальное количество соединений в пуле REST-клиента

10

manualMode *

false

Включение режима ручного переключения на необходимый контур (true- разрешение смены контура вручную, false - запрет смены контура вручную)

true

transportRequestTimeout *

9

Время ожидания ответа от ММТ (задается в секундах)

15

usePlatformSemaphore *

false

Флаг использования платформенного семафора (true- использовать платформенный семафор, false - использовать прикладной семафор)

true

Примечание:

* - параметр обязательный к заполнению (при создании конфигурации вручную, данные параметры обязательны к наличию в файле).