Параметры конфигурирования компонентаПараметры конфигурирования Шлюза задаются в конфигурационном файле |
При обновлении компонента «Универсальный диспетчер» и/или Шлюза |
Реализована обратная совместимость с прошлым файлом конфигурации: файл |
Для задания параметров конфигурирования Шлюза из файла необходимо:
gateway.yaml, указав необходимые значения для параметров:#
# The default configuration file for Termidesk Gateway, please do not change it.
#
# Объявляем переменную для SSL
_val0: &sslprof0
key: ${sslKey:/etc/termidesk/ssl-cert-snakeoil.key} # Путь к файлу закрытого ключа
cert: ${sslCert:/etc/termidesk/ssl-cert-snakeoil.pem} # Путь к файлу сертификата
ca: ${sslCa} # Путь к файлу цепочки сертификации
passphrase: ${sslPassPhrase} # Парольная фраза для соединения SSL
dhparams: ${sslDhParams} # Путь к файлу с ключами Диффи-Хеллмана
# для соединения SSL (default "")
ciphers: ${sslCiphers} # Используемый алгоритм преобразований
# для соединения SSL (default "")
# Gateway серверы (это список, по умолчанию он пустой)
gwservers:
- listen: ${wsServerIP:0.0.0.0}:${wsServerPort:5099} # IP-адрес и порт для защищенных входящих подключений,
# для IPv6 "[::1]:80" (default ~)
websocket: # Настройка WebSocket
pingtimeout: ${wsIdleTimeout:30} # Время пинга «Клиента» в секундах, диапазон [0, 100000],
# если 0, то пинги отключены (default 30)
checktoken: # Настройка проверки токенов
url: ${urlCheckToken:https://disp.termidesk.local/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)
- listen: ${wssServerIP:0.0.0.0}:${wssServerPort:10000} # IP-адрес и порт для защищенных входящих подключений,
# для IPv6 "[::1]:80" (default ~)
websocket: # Настройка WebSocket
pingtimeout: ${wsIdleTimeout:30} # Время пинга «Клиента» в секундах, диапазон [0, 100000],
# если 0, то пинги отключены (default 30)
checktoken: # Настройка проверки токенов
url: ${urlCheckToken:https://disp.termidesk.local/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)
ssl: *sslprof0 # Ссылка на настройки заданные в шаблоне SSL (default {})
# ... Другие шлюзы
# MGT сервер
mgtserver:
listen: ${mgtServerIP:0.0.0.0}:${mgtServerPort:8102} # IP-адрес и порт запроса сведений о работоспособности Шлюза
# для IPv6 "[::1]:80" (default ~)
path: ${healthCheckURL:/api/health} # Путь запроса информации о работоспособности Шлюза
# (default "/api/health")
token: ${healthCheckAccessKey} # Токен валидации (default "")
ssl: *sslprof0 # Ссылка на настройки заданные в шаблоне SSL (default {})
# RabbitMQ клиент
rabbitmq:
url: ${coordinatorUrl:amqp://USER:PASS@disp.termidesk.local:5672/termidesk} # URL подключения к серверу RabbitMQ в формате
# "amqp(s)://USER:PASS@<IP-адрес>:<порт>/termidesk",
# где USER и PASS - это необязательные поля (default ~)
user: ${coordinatorUser:termidesk} # user - пользователь, если задан,
# то изменяет url.USER (default "")
pass: ${coordinatorPass: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 |
Параметры, используемые в файле /etc/termidesk/gateway.yaml приведены в таблице.
Задание параметров может производиться и переменными окружения в формате: ${ENV} или ${ENV:DEFAULT}, где DEFAULT - значение для подстановки, если указанная переменная окружения не найдена.
Если переменная окружения существует с пустым значением, то пустое значение будет подставлено в |
Например, если нужно задать через переменные окружения адрес IP_ADDR и порт прослушивания службы PORT, то в конфигурационном файле /etc/termidesk/ gateway.yaml можно изменить значение следующим образом:
listen: ${IP_ADDR}:${PORT:8000} |
Либо эти значения можно задать напрямую в файле, без использования переменных окружения, тогда запись изменится к виду:
listen: "127.0.0.1:8181" |
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Для проверки состояния Шлюза termidesk-gateway через утилиту curl нужно:
HEALTH_CHECK_ACCSESS_KEY, определенной в конфигурационном файле /etc/opt/termidesk-vdi/termidesk.conf узла «Универсального диспетчера»;на узле Шлюза предварительно задать переменную окружения HEALTH_CHECK_ACCESS_KEY и присвоить ей полученное значение, например:
export HEALTH_CHECK_ACCESS_KEY=270c1e6a4cd013a3824982458a26ec4dcac17f60f80a74098a62994f775351e2 |
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" |
Для получения информации по доступным аргументам командной строки нужно выполнить команду:
termidesk-gateway --help |