Download PDF
Download page Шлюз. Параметры конфигурирования.
Шлюз. Параметры конфигурирования
Параметры конфигурирования компонента
Параметры конфигурирования Шлюза задаются в конфигурационном файле /etc/termidesk/gateway.yaml
.
При обновлении компонента «Универсальный диспетчер» и/или Шлюза termidesk-gateway
на версию из состава программного комплекса 5.Х вместо значения
https://127.0.0.1/api/wsproxy/v1/verify
для параметра urlCheckToken
нужно использовать значение
https://127.0.0.1/api/wsproxy/v1.1/verify
.
Реализована обратная совместимость с прошлым файлом конфигурации: файл /etc/termidesk/gateway.yaml
реализует подстановку значений параметров из переменных окружения, которые были заданы в /etc/termidesk/termidesk-gateway.conf
.
Для задания параметров конфигурирования Шлюза из файла необходимо:
- отредактировать файл
gateway.yaml
, указав необходимые значения для параметров. Пример приведен в файле/etc/termidesk/gateway.yaml.example
:
# Объявляем переменную для SSL (потом ее используем в качестве ссылки)
_val0: &sslprof0 # Шаблон для SSL
key: "/etc/key" # SSL Key file name (default "")
cert: "/etc/cert" # SSL Cert file name (default "")
ca: "/etc/ca" # SSL CA file name (default "")
passphrase: "phrase" # SSL PassPhrase (default "")
dhparams: "/etc/dhparams" # SSL DhParams file name (default "")
ciphers: "ciphers" # SSL Cipher (default "")
# Gateway серверы (это список, по умолчанию он пустой)
gwservers:
- listen: "127.0.0.1:9200" # IP + port, для IPv6 "[::1]:80" (default ~)
ssl: *sslprof0 # SSL настройки (default {})
websocket: # Настройка WebSocket
pingtimeout: 35 # Время пинга «Клиента» в секундах, диапазон [0, 100000], если 0, то пинги отключены (default 30)
checktoken: # Настройка проверки токенов
url: "http://127.0.0.1:80/api/verify" # URL для проверки (default "http://127.0.0.1:8080/api/wsproxy/v1/verify")
# ... Другие шлюзы
# MGT сервер
mgtserver:
listen: "127.0.0.1:8181" # IP + port, для IPv6 "[::1]:80" (default ~)
path: /api/health # Path для запроса информации (default "/api/health")
token: "abcde12345" # Токен валидации (default "")
ssl: *sslprof0 # SSL настройки (default {})
# RabbitMQ клиент
rabbitmq:
url: "amqp://USER:PASS@localhost/" # URL, где USER и PASS - это необязательные поля (default ~)
user: "user" # user - пользователь, если задан, то изменяет url.USER (default "")
pass: "pass" # RabbitMQ pass - пароль, если задан, то изменяет url.PASS (default "")
timeout: 40 # RabbitMQ timeout(sec), диапазон [1, 60] (default 10)
refreshtime: 80 # Период (sec) обновления информация на сервере RabbitMQ, диапазон [10, 100'000] (default 60)
single: true # Если true - то данные передаются до первого подтверждения,
# если false - то данные передаются по циклу (бесконечно) (default false)
exchange: "exchange" # RabbitMQ exchange (default "")
routingkey: "routingkey" # RabbitMQ routing key (default "termidesk_appnode")
loglevel: # Логирование сообщений
info: true # Уровень INFO (default true)
debug: true # Уровень DEBUG (default false)
- выполнить перезагрузку службы:
:~$ systemctl restart termidesk-gateway.service
Для получения информации по доступным аргументам командной строки нужно выполнить команду:
:~$ termidesk-gateway --help
Параметры, используемые в файле /etc/termidesk/
gateway.yaml
после установки приведены в таблице.
Задание параметров может производиться и переменными окружения в формате: ${ENV}
или ${ENV:DEFAULT}
, где DEFAULT
- значение для подстановки, если указанная переменная окружения не найдена.
Если переменная окружения существует с пустым значением, то пустое значение будет подставлено в /etc/termidesk/gateway.yaml
вместо переменной, а не значение по умолчанию.
Например, если нужно задать через переменные окружения адрес IP_ADDR
и порт прослушивания службы PORT
, то в конфигурационном файле /etc/termidesk/
gateway.yaml
можно изменить значение следующим образом:
listen: ${IP_ADDR}:${PORT:8000}
Либо эти значения можно задать напрямую в файле, без использования переменных окружения, тогда запись изменится к виду:
listen: "127.0.0.1:8181"
Параметр | Описание |
---|---|
Секция | |
key: ${sslKey} | Путь к файлу ключа для соединения SSL. Параметр не имеет значения по умолчанию. При использовании сертификатов и ключей на файлы
BASH
|
cert: ${sslCert} | Путь к файлу сертификата для соединения SSL. Параметр не имеет значения по умолчанию |
ca: ${sslCa} | Путь к корневому сертификату, на котором выпущен сертификат, указанный в параметре Используется для проверки подлинности указанного в параметре |
passphrase: ${sslPassPhrase} | Парольная фраза для соединения SSL. Параметр не имеет значения по умолчанию |
dhparams: ${sslDhParams} | Путь к файлу с ключами Диффи-Хеллмана для соединения SSL. Параметр не имеет значения по умолчанию |
ciphers: ${sslCiphers} | Используемый алгоритм преобразований для соединения SSL. Параметр не имеет значения по умолчанию |
Секция gwservers: | |
listen: ${wsServerIP:0.0.0.0}:${wsServerPort:5099} | Назначение параметров узла Шлюза:
Значения по умолчанию:
Для протокола SSL нужно использовать параметры
|
| Таймаут соединения (в секундах) к компоненту «Клиент» Termidesk. Может принимать значения в интервале с 8 до 960, а также 0 (отключен). Значение по умолчанию: |
| Назначение IP-адреса или FQDN узла компонента «Универсальный диспетчер» с ролью «Портал пользователя» для обслуживания API-запросов по состоянию Шлюза. При обновлении компонента «Универсальный диспетчер» и/или Шлюза
где:
При комплексной установке Termidesk значение Если программный комплекс Termidesk установлен в распределенном варианте, следует изменить значение Значение по умолчанию: |
Секция | |
| Задание параметров для подключения к API Шлюза:
Значения по умолчанию:
Запрос со значениями по умолчанию успешно выполнится только с узла, на котором установлен Шлюз:
BASH
|
| Адрес для запросов проверки состояния Шлюза. Значение по умолчанию: |
token: ${healthCheckAccessKey} | Задание ключа доступа для аутентификации запросов к API Шлюза. Параметр не имеет значения по умолчанию. При задании значения ключа следует руководствоваться правилом, что:
|
ssl: *sslprof0 | Настройка SSL |
Секция rabbitmq: | |
url: ${coordinatorUrl} | URL, содержащий IP-адрес (или FQDN) и порт (по умолчанию Используемый формат: Пример: На данный момент поддерживается задание только одного URL для подключения к серверу RabbitMQ. Подключение может использоваться как незащищенное (в этом случае указывается В случае, если RabbitMQ установлен на том же узле (локально), нужно указать: |
user: ${coordinatorUser} | Имя пользователя для подключения к серверу RabbitMQ. Параметр не имеет значения по умолчанию. Если параметр задан, то он меняет значение USER в параметре При стандартной установке компонента «Универсальный диспетчер» строго по документации в части настроек файла |
pass: ${coordinatorPass} | Пароль для подключения серверу RabbitMQ. Параметр не имеет значения по умолчанию. При стандартной установке компонента «Универсальный диспетчер» строго по документации в части настроек файла |
timeout: ${coordinatorTimeout} | Интервал (в секундах) ожидания ответа от сервера RabbitMQ. Параметр не имеет значения по умолчанию |
refreshtime: ${coordinatorRefreshTime} | Интервал (в секундах) обновления (переопубликации) регистрационной информации (URL и другие данные) Шлюза. Параметр не имеет значения по умолчанию. Значение «0» отключает автоматическую отправку состояния Шлюза на сервер RabbitMQ |
single: ${coordinatorSingle:true} | Способ передачи данных. Параметр принимает значения:
Значение по умолчанию: |
exchange: ${coordinatorExchange} | Координатор маршрутизации сообщений, определенный в RabbitMQ. Отвечает за маршрутизацию сообщений в разные очереди. Параметр не имеет значения по умолчанию |
routingkey: ${coordinatorRoutingKey} | Ключ маршрутизации RabbitMQ, используется для маршрутизации задачи в очереди. Параметр не имеет значения по умолчанию |
Секция loglevel: | |
info: ${logInfo:true} | Активация режима журналирования уровня INFO |
debug: ${logDebug:false} | Активация подробного режима журналирования уровня DEBUG |
Пример команды проверки состояния компонента через утилиту curl
для Шлюза termidesk-gateway
:
:~$ curl -v -s -X 'GET' "${HOSTNAME}:8102/api/health" -H 'accept: application/json' -H "Authorization: Token ${HEALTH_CHECK_ACCESS_KEY}" --fail -w "\n%{http_code}\n"