Download PDF
Download page Шлюз. Параметры конфигурирования.
Шлюз. Параметры конфигурирования
Параметры конфигурирования компонента
Параметры конфигурирования Шлюза задаются в конфигурационном файле /etc/termidesk/gateway.yaml
.
При обновлении компонента «Универсальный диспетчер» и/или Шлюза termidesk-gateway
на версию из состава программного комплекса 5.Х нужно обновить значение для параметра urlCheckToken
.
Реализована обратная совместимость с прошлым файлом конфигурации: файл /etc/termidesk/gateway.yaml
реализует подстановку значений параметров из переменных окружения, которые были заданы в /etc/termidesk/termidesk-gateway.conf
.
Для задания параметров конфигурирования Шлюза из файла нужно отредактировать файл /etc/termidesk/
gateway.yaml
, указав необходимые значения для параметров.
В примере файла значения параметров user
и pass
преобразованы c помощью утилиты gwpasswd
, которая входит в состав компонента.
Пример файла /etc/termidesk/gateway.yaml
:
_val0: &sslprof0
key: ${sslKey:/etc/termidesk/ssl-cert-snakeoil.key}
cert: ${sslCert:/etc/termidesk/ssl-cert-snakeoil.pem}
ca: ${sslCa}
passphrase: ${sslPassPhrase}
dhparams: ${sslDhParams}
ciphers: ${sslCiphers}
gwservers:
- listen: ${wsServerIP:0.0.0.0}:${wsServerPort:5099}
websocket:
pingtimeout: ${wsIdleTimeout:30}
checktoken:
url: ${urlCheckToken:https://disp.termidesk.local/api/wsproxy/v1.1/verify}
tcp_downstream:
reconnect: ${gwTCPReconnect:0}
- listen: ${wssServerIP:0.0.0.0}:${wssServerPort:10000}
websocket:
pingtimeout: ${wsIdleTimeout:30}
checktoken:
url: ${urlCheckToken:https://disp.termidesk.local/api/wsproxy/v1.1/verify}
tcp_downstream:
reconnect: ${gwTCPReconnect:0}
ssl: *sslprof0
mgtserver:
listen: ${mgtServerIP:0.0.0.0}:${mgtServerPort:8102}
path: ${healthCheckURL:/api/health}
token: ${healthCheckAccessKey}
ssl: *sslprof0
metrics:
path: ${metricsCheckURL:/api/health/metrics}
token: ${metricsAccessKey}
rabbitmq:
url: ${coordinatorUrl:amqp://USER:PASS@disp.termidesk.local:5672/termidesk}
user: ${coordinatorUser:AES256:F406D42BBA34B79A02AF73FFD1713A82}
pass: ${coordinatorPass:AES256:9E0A2FBFE5B03E31C8BC717C437D82E8}
timeout: ${coordinatorTimeout}
refreshtime: ${coordinatorRefreshTime:60}
single: ${coordinatorSingle:true}
exchange: ${coordinatorExchange}
routingkey: ${coordinatorRoutingKey}
loglevel:
info: ${logInfo:true}
debug: ${logDebug:false}
Чтобы получить преобразованное значение параметра с помощью утилиты gwpasswd
, нужно:
- выполнить команду:
sudo gwpasswd -e <значение>
где:
-e
- ключ для запуска преобразования переданной строки;
<значение>
- строка, значение которой будет преобразовано;
Существует также второй способ передачи строки на вход утилите gpasswd
:
echo <значение> | gwpasswd -e -
- преобразованное значение будет отображено в интерфейсе командной строки. Полученное значение необходимо внести в соответствующий параметр конфигурационного файла с приставкой
AES256:
. Значение допускается вносить как в ранее существующий файл/etc/termidesk/termidesk-gateway.conf
, так и в/etc/termidesk/gateway.yaml
. В приведенном выше примере значение было подставлено в параметр${coordinatorUser}
:
rabbitmq:
url: ${coordinatorUrl:amqp://USER:PASS@disp.termidesk.local:5672/termidesk}
user: ${coordinatorUser:AES256:F406D42BBA34B79A02AF73FFD1713A82}
- выполнить перезагрузку службы:
sudo systemctl restart termidesk-gateway.service
Параметры, используемые в файле /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"
Параметр | Описание |
---|---|
Секция | |
_val0: &sslprof0 | Переменная Для использования шаблона в соответствующей секции файла следует создать параметр Значение Пример:
BASH
|
key: ${sslKey:/etc/termidesk/ssl-cert-snakeoil.key} | Путь к файлу ключа для соединения SSL. Параметр не имеет значения по умолчанию. При использовании сертификатов и ключей на файлы
BASH
|
cert: ${sslCert:/etc/termidesk/ssl-cert-snakeoil.pem} | Путь к файлу сертификата для соединения 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 (отключен). Значение по умолчанию: «30» |
| Назначение IP-адреса или FQDN узла компонента «Универсальный диспетчер» с ролью «Портал пользователя» для обслуживания API-запросов по состоянию Шлюза. При указании FQDN стоит учитывать, что ОС должна иметь возможность разрешить его в IP-адрес. При обновлении компонента «Универсальный диспетчер» и/или Шлюза
Пример:
где:
При комплексной установке Termidesk значение Если программный комплекс Termidesk установлен в распределенном варианте, следует изменить значение |
| Количество переподключений Шлюза к ВМ. Может принимать значения в интервале с 0 до 10. Значение по умолчанию:«0» |
Секция | |
| Задание параметров для подключения к API Шлюза:
Значения по умолчанию:
|
| Адрес для запросов проверки состояния Шлюза. Значение по умолчанию: |
token: ${healthCheckAccessKey} | Параметр для доступа к API Шлюза. Параметр не имеет значения по умолчанию. Значение может быть получено из параметра Пример:
где:
|
ssl: *sslprof0 | Настройка SSL |
| Адрес API для запроса метрик узла Шлюза. Значение по умолчанию: |
| Ключ для доступа к API-запроса метрик узла Шлюза. Параметр не имеет значения по умолчанию. При задании значения ключа следует руководствоваться правилом, что:
Пример: |
Секция rabbitmq: | |
url: ${coordinatorUrl: amqp://USER:PASS@disp.termidesk.local:5672/termidesk} | URL, содержащий IP-адрес (или FQDN) и порт (по умолчанию Используемый формат: Пример: На данный момент поддерживается задание только одного URL для подключения к серверу RabbitMQ. Подключение может использоваться как незащищенное (в этом случае указывается В случае, если RabbitMQ установлен на том же узле (локально), нужно указать: |
user: ${coordinatorUser} | Имя пользователя для подключения к серверу RabbitMQ. Параметр не имеет значения по умолчанию. Если параметр задан, то он меняет значение При стандартной установке компонента «Универсальный диспетчер» строго по документации в части настроек файла |
pass: ${coordinatorPass} | Пароль для подключения серверу RabbitMQ. Параметр не имеет значения по умолчанию. Если параметр задан, то он меняет значение При стандартной установке компонента «Универсальный диспетчер» строго по документации в части настроек файла |
timeout: ${coordinatorTimeout} | Интервал (в секундах) ожидания ответа от сервера RabbitMQ. Параметр не имеет значения по умолчанию Пример: |
refreshtime: ${coordinatorRefreshTime:60} | Интервал (в секундах) обновления (переопубликации) регистрационной информации (URL и другие данные) Шлюза. Параметр не имеет значения по умолчанию. Значение «0» отключает автоматическую отправку состояния Шлюза на сервер RabbitMQ. Значение по умолчанию: «60» |
single: ${coordinatorSingle:true} | Способ передачи данных. Параметр принимает значения:
Значение по умолчанию: |
exchange: ${coordinatorExchange} | Координатор маршрутизации сообщений, определенный в RabbitMQ. Отвечает за маршрутизацию сообщений в разные очереди. Параметр не имеет значения по умолчанию |
routingkey: ${coordinatorRoutingKey} | Ключ маршрутизации RabbitMQ, используется для маршрутизации задачи в очереди. Параметр не имеет значения по умолчанию |
Секция loglevel: | |
info: ${logInfo:true} | Активация режима журналирования уровня «INFO» |
debug: ${logDebug:false} | Активация подробного режима журналирования уровня «DEBUG» |
Для проверки состояния Шлюза termidesk-gateway
через утилиту curl
нужно:
- получить значение переменной
HEALTH_CHECK_ACCSESS_KEY
, определенной в конфигурационном файле/etc/opt/termidesk-vdi/termidesk.conf
узла «Универсального диспетчера»; на узле Шлюза отредактировать конфигурационный файл, присвоив параметру
token: ${healthCheckAccessKey}
полученное значение, например:
token: ${healthCheckAccessKey:270c1e6a4cd013a3824982458a26ec4dcac17f60f80a74098a62994f775351e2}
- выполнить команду проверки состояния Шлюза:
curl -v -s -X 'GET' "${HOSTNAME}:8102/api/health" -H 'accept: application/json' -H "Authorization: Token ${healthCheckAccessKey}" --fail -w "\n%{http_code}\n"
Для получения информации по доступным аргументам командной строки нужно выполнить:
termidesk-gateway --help