Перейти к содержанию

Описание конфига сервера

В этом документе собраны описания для всех параметров конфигурационного файла server/config.json для расширенного ознакомления.

Требования к паролю

"password_requirements": "^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[^a-zA-Z0-9\\s]).{6,10}$"
Параметр Тип Описание
password_requirements string требования к паролю

Возможные варианты значений для реализаций требований к паролю:

  • (?=.*[A-Z]) - проверка по наличию заглавных латинских букв в пароле.
  • (?=.*[a-z]) - проверка по наличию строчных латинских букв в пароле.
  • (?=.*[0-9]) - проверка по наличию цифр в пароле.
  • (?=.*[^a-zA-Z0-9\\s]) - проверка по наличию спецсимволов в пароле. Условие: любой символ, не являющийся буквой, цифрой или пробелом.
  • (?=.*[!@#$%^&*()\\-_=+\\[\\]{};:,.<>?/|\\\\]) - настраеваемый список разрешенных спецсимволов для проверки по наличию в пароле.
  • {6,10} - длина от 6 до 10 символов.

Подсказка к требованию пароля

"password_requirements_title": "Пароль должен содержать большие и маленькие буквы, цифры, спецсимволы. Длина пароля не менее 6 и не более 10 символов."
Параметр Тип Описание
password_requirements_title string указываете подсказку к настроенному требованию пароля

Минимальная длина пароля

"password_length": 10
Параметр Тип Описание
password_length number минимальная длина пароля

⚠ Данный параметр не будет работать если в файле config.json указан параметр "password_requirements"

Настройки видео

 "default": {
    "video": {
      "codecs": "AV1,H264,VP8",
      "fps_min": 10,
      "fps_max": 30,
      "frame_drop": true,
      "auto_gray": true
    }
}
Параметр Тип Описание
default.video.codecs string предпочтение кодека видео
default.video.fps_min number минимальное количество кадров в секунду, минимально допустимое значение 10
default.video.fps_max number максимальное количество кадров в секунду, максимально допустимое значение 120
default.video.frame_drop bool автоматический пропуск кадров при ухудшении качества сети
default.video.auto_gray bool автоматическое переключение в черно-белый режим при ухудшении качества сети

Проверка наличия новой версии

 "check_new_version": true
Параметр Тип Описание
check_new_version bool включить проверку наличия новой версии, по умолчанию True

Ограничение доступа к файловому менеджеру и привязке агентов к личному кабинету постоянного доступа

  "limit": {
    "file_manager": true,
    "permanent_access": true
  }
Параметр Тип Описание
limit.file_manager bool запрет на работу файлового менеджера, по умолчанию false
limit.permanent_access bool запрет на привязку агентов к личному кабинету, по умолчанию false

Задание максимального и минимального порта для дашборда

  "app":{
  "webrtc": {
        "udp_ports_max": 40000,
        "udp_ports_min": 60000
      }
  }
Параметр Тип Описание
app.webrtc.udp_ports_max number максимальное значение порта
app.webrtc.udp_ports_min number минимальное значение порта

Указание времени уведомлений о состоянии агента

  "timer_notify_agent": 10
Параметр Тип Описание
timer_notify_agent number задание времени о состоянии агента, в секундах

Порт для запросов

 "port": {
    "http": 80, 
    "https": 443 
  }
Параметр Тип Описание
port.http number для HTTP-запросов, по умолчанию 80
port.https number для HTTPS-запросов, по умолчанию 443

Логирование HTTP-запросов

  "log-http": true
Параметр Тип Описание
log-http boolean включить логирование, по умолчанию false

База данных

Конфиг для подключения к базе данных.

  "sql": {
    "server": "123.123.123.123",
    "port": 123,
    "user": "qwerty"
    "password": "qwerty",
    "log": true,
  }
Параметр Тип Описание
sql.server string адрес сервера для подключения
sql.port number порт
sql.user string пользователь
sql.password string пароль
sql.log boolean включить логирование SQL-запросов, по умолчанию false

Настройки почтового сервера

Используется для отправки исходящих писем приглашений, регистраций юзеров, а также восстановления паролей.

  "mail": {
    "server": "smtp.host.net",
    "port": 123,
    "user": "user@host.net",
    "password": "qwertyqwerty",
    "protocol": "ssl",
    "email": "qwerty@host.net"
  }
Параметр Тип Описание
mail.server string адрес сервера
mail.port number порт для подключения
mail.user string пользователь
mail.password string пароль
mail.protocol string метод шифрования: ssl, starttls, plain
mail.email string адрес электронной почты для отправки почты

Reverse proxy

  "balancer": {
    "ip": [
      "123.123.123.123"
    ]
  }
Параметр Тип Описание
balancer.ip []string список IP адресов

Google Captcha

Если указать, то будет использоваться на странице входа и регистрации пользователей.

  "captcha": {
    "key": "qwertyqwertyqwertyqwertyqwerty32",
    "secret": "qwertyqwertyqwertyqwerty"
  },
Параметр Тип Описание
captcha.key string API-ключ
captcha.secret string секретный ключ

Где получить API-ключ?

Создать капчу и получить API-ключ вы можете на странице reCAPTCHA .

Auto Translate

Если указать, то при подключении к удаленным устройствам будет доступна функция автоматического обнаружения и перевода текста на экране. Можно указать API-ключи Yandex Translate

  "translate": { 
    "translate.yandex": "AQVNx0Qf1PSywTFuhDhuhnqHge6yswcBDTaaaaa",
    "translate.yandex_folder": "b1gb830e0p4u02aaaaaa"
}
Параметр Тип Описание
yandex string IAM-токен
yandex_folder string folderID

Где получить API-ключ?

Получить API-ключ для Yandex Translate вы можете на странице Yandex Cloud

Telegram bot

Если указать, то станут доступны следующие функции для пользователей Telegram :

  • Получение кодов двухфакторной авторизации
  • Уведомления о готовности клиента к подключению по приглашению
  • Создание приглашений
  • Постоянный доступ к устройствам
    • Получение списка
    • Подключение
    • Обмен файлами
  "integrate": {
    "telegram": {
      "id": 123, 
      "name": "TelegramBot",
      "token": "123:qwertyqwertyqwertyqwerty" 
    }
  }
Параметр Тип Описание
integrate.telegram.id number идентификатор бота
integrate.telegram.name string имя
integrate.telegram.token string токен для подключения

Срок годности паролей

Параметр Тип Описание
password_timeout number Срок годности паролей в днях. По умолчанию неограниченный срок.
password_change boolean Требование сменить пароль при первом входе, для пользователей который получили пароль от учетной записи из письма приглашения

Разрешение использовать старые браузеры

Параметр Тип Описание
accept_old_browser boolean Разрешить использовать устаревшие браузеры. Значение по умолчанию false

HSTS

Подробнее о заголовках HSTS

Параметр Тип Описание
hsts boolean Включение HSTS-заголовка в ответы сервера. Значение по умолчанию false

Content Security Policy

Подробнее о заголовках Content Security Policy

Параметр Тип Описание
csp.enable boolean Включение CSP-заголовков. Значение по умолчанию true
csp.extra string Дополнительные домены в CSP-заголовков (через пробел)

Анонимный доступ

Параметр Тип Описание
force_login boolean Запрет анонимного доступа по одноразовым ссылкам. Значение по умолчанию false

Компонент Download

Конфиг для подключения к компоненту Download.

  "download": {
    "host": "host.net:123",
    "token": "qwertyqwertyqwertyqwerty"
  },
Параметр Тип Описание
download.host string адрес:порт сервера
download.token string токен

Компонент Storage

Конфиг для подключения к компоненту Storage.

  "storage": [
    {
      "host": "host.net", 
      "port": 123,
      "key": "qwertyqwertyqwertyqwertyqwerty32",
      "token": "qwertyqwertyqwertyqwerty"
    }
  ]
Параметр Тип Описание
storage.[].host string адрес сервера
storage.[].port number порт
storage.[].key string ключ
storage.[].token string токен

Компонент Image

Конфиг для подключения к компоненту Image.

  "storage_image": [
    {
      "host": "host.net",
      "port": 123,
      "key": "qwertyqwertyqwertyqwertyqwerty32",
      "token": "qwertyqwertyqwertyqwerty"
    }
  ]
Параметр Тип Описание
storage_image.[].host string адрес сервера
storage_image.[].port number порт
storage_image.[].key string ключ
storage_image.[].token string токен

Компонент Proxy

Конфиги для подключения к компоненту Proxy.

STUN-сервер

  "stun": [
    {
      "ip": "123.123.123.123",
      "port": 123  
    }
  ]
Параметр Тип Описание
stun.[].ip string IP-адрес
stun.[].port number порт

TURN-сервер

  "turn": [
    {
      "ip": "123.123.123.123", 
      "port": 123,    
      "login": "qwerty",
      "password": "qwerty",
      "transport": "udp" 
    }
  ]
Параметр Тип Описание
turn.[].ip string IP-адрес
turn.[].port number порт
turn.[].login string логин
turn.[].password string пароль

WebSocket-сервер

  "websocket": [
    {
      "host": "host.net",
      "port": 123 
    } 
  ]
Параметр Тип Описание
websocket.[].host string адрес
websocket.[].port number порт

Токен

Используется для авторизации подключения других компонентов системы в серверу.

  "token": "qwertyqwertyqwertyqwerty"
Параметр Тип Описание
token string токен

Разделение эндпоинтов на разные домены

Эндпоинты разделены на 5 ролей:

  • dashboard - личный кабинет
  • operator - страница подключения к агенту
  • public - публичные страницы: приглашения в быструю поддержку, инструкция, ...
  • agent - домен подключения агентов
  • api - HTTP API

⚠ Необходимо учитывать, что агенты по умолчанию генерируются с привязкой к основному домену из лицензии. Рекомендуем оставить роль agent на основной домене, иначе потребуется переустановка ранее установленных агентов. Если необходимо его поменять, мы можем перегенерировать лицензию, а остальные роли назначить на другие домены. Для изменения параметров лицензии, необходимо обратиться в техническую поддержку.

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

⚠ В случае, если до разделения эндпоинтов на разные домены предварительно настраивалась интеграция с LDAP, необходимо указать новый домен и\или порт подключения в Настройках параметров подключения, согласно статье документации.

По умолчанию, все роли назначаются на основной домен из лицензии. Для того, чтобы выделить роль/роли на отдельный домен можно указать в файле /opt/pro32connect/server/config.json:

"bind": [
  {
    "listen": ":445",
      "route": [
        {
          "host": "api.test.com:445",
          "cert": "cert/server.crt",
          "key": "cert/server.key",
          "role": "api"
        }
      ]
    }
  ],
Параметр Тип Описание
listen number ip:порт
route.[].host string внешний домен:порт
route.[].cert string публичный ключ SSL сертификата
route.[].key string приватный ключ SSL сертификата
route.[].role string роли этого домена

Для компонента download в /opt/pro32connect/download/config.json в значении server.host должен быть указан домен:порт роли dashboard сервера.

Для компонента storage в /opt/pro32connect/storage/config.json в значении master, auth должен быть указан домен:порт роли dashboard сервера.

ℹ В файле /opt/pro32connect/server/config.json в секции bind можно указывать домены, второй уровень которых совпадает с основным доменом лицензии. Если нужен другой домен второго уровня, необходимо написать в техническую поддержку и мы добавим его в лицензию.