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
, указав необходимые значения для параметров. Пример (подробное описание использования параметров приведено в таблице):
# Объявляем переменную для SSL (потом ее используем в качестве ссылки)
_val0: &sslprof0 # Шаблон настроек защищенного соединения по протоколу SSL
key: ${sslKey} # Путь к файлу закрытого ключа (default "")
cert: ${sslCert} # Путь к файлу сертификата (default "")
ca: ${sslCa} # Путь к файлу цепочки сертификации (default "")
passphrase: ${sslPassPhrase} # Парольная фраза для соединения SSL (default "")
dhparams: ${sslDhParams} # Путь к файлу с ключами Диффи-Хеллмана для соединения SSL (default "")
ciphers: ${sslCiphers} # Используемый алгоритм преобразований для соединения SSL (default "")
# Gateway серверы (это список, по умолчанию он пустой)
gwservers:
- listen: ${wsServerIP:0.0.0.0}:${wsServerPort:5099} # IP-адрес и порт для входящих подключений, для IPv6 "[::1]:80" (default ~)
ssl: *sslprof0 # Ссылка на настройки заданные в шаблоне SSL (default {})
websocket: # Настройка WebSocket
pingtimeout: ${wsIdleTimeout:30} # Время пинга «Клиента» в секундах, диапазон [0, 100000], если 0, то пинги отключены (default 30)
checktoken: # Настройка проверки токенов
url: ${urlCheckToken:https://127.0.0.1/api/wsproxy/v1.1/verify} # URL для проверки (default "http://127.0.0.1:8080/api/wsproxy/v1/verify")
tcp_downstream: # Настройка соединения с сервисами по протоколу TCP
reconnect: ${gwTCPReconnect:0} # Количество переподключений, если не задано или равно 0, то TCP сессия не восстанавливается,
# диапазон [0, 10] (default 0)
# ... Другие шлюзы
# MGT сервер
mgtserver:
listen: ${mgtServerIP:127.0.0.1}:${mgtServerPort:8102} # IP-адрес и порт запроса сведений о работоспособности Шлюза, для IPv6 "[::1]:80" (default ~)
path: ${healthCheckURL:/api/health} # Путь запроса информации о работоспособности Шлюза (default "/api/health")
token: ${healthCheckAccessKey} # Токен валидации (default "")
ssl: *sslprof0 # Ссылка на настройки заданные в шаблоне SSL (default {})
# RabbitMQ клиент
rabbitmq:
url: amqp://127.0.0.1:5672/termidesk # URL подключения к серверу RabbitMQ в формате "amqp(s)://USER:PASS@<IP-адрес>:<порт>/termidesk", где
# USER и PASS - это необязательные поля (default ~)
user: admin # user - пользователь, если задан, то изменяет url.USER (default "")
pass: ksedimret # RabbitMQ pass - пароль, если задан, то изменяет url.PASS (default "")
timeout: ${coordinatorTimeout} # RabbitMQ timeout(sec), диапазон [1, 60] (default 10)
refreshtime: ${coordinatorRefreshTime:60} # Период (sec) обновления информация на сервере RabbitMQ, диапазон [10, 100000] (default 60)
single: ${coordinatorSingle:true} # Если true - то данные передаются до первого подтверждения,
# если false - то данные передаются по циклу (бесконечно) (default false)
exchange: ${coordinatorExchange} # RabbitMQ exchange (default "")
routingkey: ${coordinatorRoutingKey} # RabbitMQ routing key (default "termidesk_appnode")
loglevel: # Логирование сообщений
info: ${logInfo:true} # Уровень INFO (default true)
debug: ${logDebug:false} # Уровень 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} | Пароль для пары «сертификат + ключ». Параметр не имеет значения по умолчанию |
dhparams: ${sslDhParams} | Путь к файлу с ключами Диффи-Хеллмана для соединения SSL. Параметр не имеет значения по умолчанию |
ciphers: ${sslCiphers} | Используемый алгоритм преобразований для соединения SSL. Параметр не имеет значения по умолчанию |
Секция gwservers: | |
listen: ${wsServerIP:0.0.0.0}:${wsServerPort:5099} | Назначение параметров узла Шлюза:
Значения по умолчанию:
Для протокола SSL нужно использовать параметры
При использовании протокола SSL обязательно должна быть настроена секция Порт прослушивания службы может быть назначен любой, здесь приведены стандартные значения. Однако в случае, если нужно назначить порт из диапазона общеизвестных TCP-портов 1 - 1023, следует установить исполняемому файлу
BASH
|
| Таймаут соединения (в секундах) к компоненту «Клиент» Termidesk. Может принимать значения в интервале с 8 до 960, а также 0 (отключен). Значение по умолчанию: |
| Назначение IP-адреса или FQDN узла компонента «Универсальный диспетчер» с ролью «Портал пользователя» для обслуживания API-запросов по состоянию Шлюза. При указании FQDN стоит учитывать, что ОС должна иметь возможность разрешить его в IP-адрес. При обновлении компонента «Универсальный диспетчер» и/или Шлюза
где:
При комплексной установке 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"