Поддержка

Собрали ответы на популярные вопросы, чтобы пользоваться eXpress было легко и удобно. Не нашли ответ на свой вопрос? Свяжитесь с нашей поддержкой.

Сеть, время, окружение и сертификаты

Сеть, время, окружение и сертификаты

RTS
Lite
CTS
ETS
eCTS
Здесь вы найдёте технические требования и инструкции по настройке сетевого окружения для стабильной работы приложения. Информация будет полезна как конечным пользователям, так и сетевым администраторам.

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

Для работы приложения на клиентских устройствах необходимо обеспечить доступ к сетевым ресурсам (
RTS
,
CTS
, серверам для звонков и т.д.).


Если вашими устройствами или сетью управляет организация, обратитесь в поддержку вашей организации или к системному администратору для получения помощи с доступами.
Администратору: о сетевых доступах для клиентов и серверов, инспекция трафика
  • Если в инфраструктуре используются системы инспекции или фильтрации трафика (NGFW, DPI, прокси), требуется разрешить WebSocket-соединения.
  • Дополнительно может потребоваться настройка VPN-туннелей, правил WAF или конфигурация прокси-серверов.
  • В зависимости от архитектуры приложения и особенностей сетевой инфраструктуры организации список необходимых доступов может расширяться — рекомендуется свериться с проектной документацией и протестировать подключение в изолированной среде перед развертыванием.

Типовые проблемы при инспекции трафика

Что настроено Как проявляется Что сделать
NGFW или DPI разрывает долгоживущие соединения Приложение периодически показывает Подключение, сообщения приходят с задержкой, сессия отваливается Разрешить WebSocket, увеличить таймаут неактивных TCP-сессий для трафика eXpress
TLS-инспекция с подменой сертификата (MITM), в том числе на DLP-системах Ошибки подключения и ошибки сертификата, на Android — Ошибка SSL Добавить адреса eXpress в исключения инспекции либо установить корпоративный корневой сертификат на устройства — подробнее. Приложение для Android использует только встроенные и системные сертификаты
WAF перед корпоративным сервером Часть запросов приложения отбивается с ошибками сервера Настроить правила WAF под API приложения, разрешить WebSocket-апгрейд
Прокси-сервер с аутентификацией Приложение не подключается Приложение не поддерживает прокси с логином и паролем — подробнее
Медиатрафик заворачивается в инспекцию Звонки не устанавливаются или рвутся Медиатрафик инспектировать нельзя — он зашифрован сквозным шифрованием. Вывести подключения к серверу Media из инспекции
Подробнее о необходимых сетевых доступах на стороне клиентов и серверов см. в руководствах по сетевым взаимодействиям.
Администратору: требования к сети

Требования к каналу клиент-сервер

Активность Потребляемый трафик
Сообщения2 кбит/с на пользователя
Файлы100 кбит/с на пользователя

Требования для звонков и конференций

Расчёт пропускной способности для звонков и конференций:

Трафик Формула
Входящий трафик 1,5 мбит/с × количество участников
Исходящий трафик Зависит от типа вызова:
  • Видеомозаика: 140 кбит/с × количество ячеек (макс. 20)
  • Аудио: 16 кбит/с
  • Демонстрация экрана: от 30-50 кбит/с (статичный контент) до 2 мбит/с (динамичный контент)

Минимальные требования для голосовых SIP-вызовов: 16 кбит/с на участника.

Рекомендуемый сетевой ping

Активность Рекомендуемый Ping
Звонки и конференции Не более 100 мс
Сообщения и файлы Не более 150 мс

При значительном превышении этих значений подключение приложения к серверу может оказаться невозможным — например, при работе через спутниковый интернет.

Требования к клиентским устройствам по пропускной способности

Платформа Средний трафик
ПКИсходящий: 1,5 мбит/с
Входящий: 2 мбит/с
Мобильные устройстваИсходящий: 1,5 мбит/с
Входящий: 1,6 мбит/с

Работает ли приложение, когда мобильная сеть в РФ находится в режиме белых списков?

  • Для
    RTS
    и
    Lite
    — да, так как эти серверы добавлены в белые списки.
  • Для
    CTS
    ,
    ETS
    /
    eCTS
    — уточните в поддержке своей организации.

Куда ходит трафик приложения

Приложение использует не одно соединение, а несколько независимых. По тому, что именно перестало работать, можно сразу понять, какой доступ закрыт.

Что не работает Какое соединение отвечает Что проверить
Приложение не подключается, бесконечное Подключение, чаты и контакты не обновляются Клиент → корпоративный сервер
CTS
/
eCTS
по HTTPS и WebSocket
Не режет ли WebSocket система инспекции трафика; в браузере — доступ к локальной сети
Чаты и файлы работают, а звонки и конференции — нет: звонок не подключается, нет звука или видео, участников «выкидывает» Клиент → сервер Media, отдельные порты, преимущественно по UDP Открыты ли порты медиасервера и по UDP; проходит ли UDP через VPN-туннель — см. VPN
Не открывается веб-приложение Клиент → сервер веб-клиента по HTTPS Доступность адреса веб-приложения (https://corp.express/ или адрес вашей организации)
Не приходят файлы от внешних пользователей Клиент → облачное хранилище файлов публичных пользователей Доступ к облаку — подробнее
Не проходит проверка Captcha при запросе SMS-кода Клиент → сервисы Captcha Доступ к сервисам проверки, см. список доступов
Не открываются ссылки на чаты и звонки Клиент → сервис коротких ссылок Доступ к сервису ссылок (или к своему серверу ссылок)
Десктоп-приложение не находит обновления Клиент → сервер обновлений Доступ к серверу обновлений (для
ETS
-приложения — к своему)
Конкретные порты и адреса, которые нужно открывать, см. в списке сетевых доступов и в руководствах по сетевым взаимодействиям.
Администратору: веб-приложение и схема Front CTS / Back CTS
CTS
ETS
eCTS

Обмен сообщениями и медиаданными из веб-приложения идёт напрямую на корпоративный сервер и сервер Media, поэтому для веб-приложения нужны ровно те же сетевые доступы, что и для десктоп-приложения, плюс доступ к адресу веб-клиента.


При разделённом развёртывании корпоративный сервер публикуется наружу через Front CTS, а медиасервис размещается рядом с ним, поэтому клиент всегда ходит за медиаданными на Front, а не в закрытый контур. Матрицы сетевой связанности по схемам развёртывания:

Прокси-сервер

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

Поддерживаются ли прокси с логином и паролем?

Прокси-серверы с аутентификацией не поддерживаются самим приложением. Если в вашей сети используется такой прокси, обратитесь к сетевому администратору — может потребоваться или использовать этот прокси как системный, или настроить исключение для трафика eXpress, или использовать открытый прокси.

Настройка открытого прокси-сервера для десктоп-приложения

  1. Закройте десктоп-приложение.
  2. Запустите приложение через терминал или командную строку:
    "путь_к_приложению" "--proxy-server=IP:порт"
  3. Рекомендуется создать ярлык для запуска десктоп-приложения с прокси.
    Например, на Windows: "C:\Program Files\eXpress\eXpress.exe" "--proxy-server=192.168.1.1:8080"

Как запустить десктоп-приложение мимо прокси?

Если серверы eXpress находятся во внутренней сети и прокси для обращения к ним не нужен, приложение можно запускать с параметром --no-proxy-server. С ним приложение не использует системные настройки прокси и обращается к серверам напрямую.

"C:\Program Files\eXpress\eXpress.exe" --no-proxy-server

Этим же способом удобно проверить, виноват ли прокси. Если с этим параметром приложение подключается сразу, а без него остаётся в состоянии Подключение..., причина в проксировании — проверьте список исключений.

Администратору: какие настройки прокси использует десктоп-приложение и как задать исключения на Windows

Десктоп-приложение берёт настройки прокси из системных параметров Windows, а не из браузера. Если исключения для серверов eXpress прописаны только в групповой политике прокси для браузеров, приложение их не увидит и продолжит обращаться к серверам через прокси. Задавайте такие исключения в системных настройках прокси Windows: Свойства браузера > вкладка Подключения > Настройка сети > Дополнительно, поле Не использовать прокси-сервер для адресов, начинающихся с.

Какие параметры Windows читает приложение

Параметры берутся из ветки реестра HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings.

Значение ProxyEnable Что использует приложение
1 — прокси задан вручную Адрес прокси из ProxyServer и список исключений из ProxyOverride. Сценарий автоматической настройки AutoConfigURL при этом не применяется.
0 — прокси вручную не задан Сценарий автоматической настройки (PAC-файл) из AutoConfigURL, если он указан.
⚠️ Так приложение ведёт себя начиная с версии 3.62. В более ранних версиях сценарий автоматической настройки применялся при любом значении ProxyEnable.

Как записать исключение, чтобы оно сработало

Исключение сравнивается с именем узла, к которому обращается приложение. Оно должно либо полностью совпадать с этим именем, либо быть маской поддоменов со звёздочкой.

Запись в списке исключений Что покрывает Сработает для узла cts.example.ru
cts.example.ru Только узел с этим именем Да
*.example.ru Все узлы в домене example.ru Да
example.ru Только узел с именем example.ru, поддомены не покрываются Нет
cts Только узел с именем cts Нет
⚠️ Частая причина, по которой исключения не срабатывают, — короткое имя узла вместо полного. Запись cts не покрывает узел cts.example.ru, а запись example.ru не покрывает его поддомены. Указывайте полные имена серверов eXpress или маску вида *.example.ru.

Если исключения заданы верно, а приложение всё равно не подключается

Проверьте следующее.

  • Совпадает ли список исключений в момент сбоя с тем, который вы видите после восстановления связи. Если на компьютере применяется несколько политик с настройками прокси, сразу после загрузки может подействовать та, в которой нужных исключений нет, а позже её перекроет правильная. Снимайте настройки прокси именно в тот момент, когда приложение не подключается.
  • Не подменяет ли сертификат антивирус или средство инспекции трафика. При подмене приложение не доверяет соединению, даже если исключения для прокси заданы верно. См. «Управление сертификатами».
  • Не слишком ли узкий список адресов, разрешённых на прокси. Если открыты только адреса серверов CTS, приложение подключится, но часть функций работать не будет — например, предпросмотр ссылок. Перечень нужных доступов — в списке сетевых доступов.
  • Требует ли прокси аутентификацию. Прокси с запросом логина и пароля приложение не поддерживает: подключиться через такой прокси нельзя, см. вопрос выше.

Убедиться, что дело именно в прокси, можно запуском приложения с параметром --no-proxy-server.

VPN

При подключении к сети через VPN-сервисы возможны задержки доставки сообщений, обрывы звонков и ошибки подключения к серверу. Рекомендуется не использовать VPN с приложением, либо добавить eXpress в список исключений (split tunneling) вашего VPN-клиента, либо обратиться в поддержку вашей организации за корректной конфигурацией корпоративного VPN-клиента.

⚠️ Если вы работаете в веб-приложении, включённый VPN дополнительно меняет поведение браузера: адреса серверов становятся адресами локальной сети, и браузер начинает запрашивать отдельное разрешение на обращение к ним. Это частая причина, по которой «в офисе всё работает, а через VPN — нет». См. «Ограничения браузера в веб-приложении».
Администратору: какие ограничения при направлении всего трафика eXpress через VPN-туннель?

Со стороны eXpress технических ограничений на использование VPN нет. Однако на практике работоспособность сильно зависит от пропускной способности VPN-канала и особенностей работы сетевых протоколов. Опыт показывает, что направление всего трафика, включая медиаданные, через VPN может приводить к проблемам с качеством связи. Рекомендуется избегать маршрутизации трафика через VPN для обеспечения стабильной работы.

Что обязательно должно доходить до серверов через туннель

Если трафик всё же заворачивается в VPN, недостаточно пропустить только HTTPS к корпоративному серверу — иначе будет работать переписка, но не звонки. Через туннель должны проходить и подключения к серверу Media, включая UDP. Перечень портов — в списке сетевых доступов и в руководствах по сетевым взаимодействиям.

Типовые причины, по которым медиатрафик не проходит через VPN

Причина Что делать
Туннель работает только поверх TCP (например, TLS-туннель на 443), UDP не передаётся Либо вывести медиатрафик из туннеля, либо включить в панели администратора в разделе VoEx настройку Разрешить использование TCP ICE — подробнее. Учтите, что TCP для медиа хуже по качеству, чем UDP
Диапазон UDP-портов медиасервера открыт не целиком Открыть диапазон полностью — он используется для потоков SRTP
Прямое соединение между клиентами (p2p) блокируется, а TURN не используется Включить в разделе VoEx настройку Использовать только relay ICE-кандидаты — весь медиатрафик пойдёт через TURN-сервер
Уменьшенный MTU в туннеле, фрагментация UDP-пакетов Проверить MTU и настройки MSS clamping на VPN-шлюзе. Симптом — звонок соединяется, но звук и видео рассыпаются или идут в одну сторону
Двойной NAT (корпоративный NAT поверх NAT провайдера, CGNAT) Проверить корректность NAT IP-to-IP для сервера Media и внешние адреса в настройках TURN/STUN

Ограничения браузера в веб-приложении

Веб-приложение работает по правилам браузера, а не по правилам операционной системы. Даже если все сетевые доступы открыты, браузер может заблокировать часть соединений. Самое частое ограничение — доступ к локальной сети.

Что такое доступ к локальной сети и почему он мешает?

Современные браузеры считают опасным, когда сайт из интернета обращается к устройствам внутри вашей сети, и требуют на это отдельное разрешение. Правило срабатывает по адресу назначения: если сайт открыт по публичному адресу, а обращается к частному адресу (10.х.х.х, 172.16–31.х.х, 192.168.х.х), к localhost или к домену в зоне .local — браузер показывает запрос разрешения, а при отказе обрывает соединение.


Для eXpress это выглядит так: веб-приложение открыто по публичному адресу (например, https://corp.express/), а корпоративный сервер и сервер Media находятся в сети вашей организации. Отсюда характерные симптомы:

  • в офисе или из дома всё работает, а при включении корпоративного VPN — нет (через VPN адреса серверов становятся частными);
  • чаты работают, а звонки и конференции не подключаются или идут без звука и видео;
  • веб-приложение не подключается вовсе и бесконечно показывает «Подключение»;
  • в десктоп-приложении на том же компьютере и в той же сети всё работает нормально.
Если у вас работает десктоп-приложение, а веб-приложение — нет, при одинаковых сетевых условиях, почти всегда дело в ограничениях браузера, а не в сети.

Как выдать разрешение на локальную сеть?

Вы можете дождаться запроса браузера при открытии веб-приложения и нажать Разрешить. Если запрос уже был отклонён, выдайте разрешение вручную и перезагрузите страницу:

Браузер Как выдать разрешение
Google Chrome, Chromium, Microsoft Edge, Yandex Browser, Vivaldi, Opera Щёлкните значок настроек сайта слева в адресной строке > Настройки сайтов (в Microsoft Edge — Разрешения для сайта) > разрешите пункт Локальная сеть (в Яндекс Браузере — Доступ к локальной сети) > обновите страницу
Mozilla Firefox Щёлкните значок замка слева в адресной строке > Разрешения > разрешите Доступ к устройствам локальной сети. Все выданные разрешения — в Настройки > Приватность и защита > Разрешения
Apple Safari Отдельного запроса для сайта нет. На macOS проверьте системное разрешение: Системные настройки > Конфиденциальность и безопасность > Локальная сеть
⚠️ На macOS разрешений два, и они независимы: системное (для всего браузера, в разделе Локальная сеть настроек конфиденциальности) и разрешение для самого сайта внутри браузера. Safari получает системное разрешение автоматически, остальным браузерам его нужно выдать. Проверьте оба.

Другие настройки браузера, влияющие на работу

  • Проверьте остальные разрешения браузера — микрофон, камеру, уведомления, буфер обмена, автовоспроизведение в Safari — и расширения-блокировщики: они перечислены в системных требованиях к веб-приложению.
  • Не используйте режим инкогнито и приватные окна для постоянной работы: часть разрешений и данных сессии в них не сохраняется.
Администратору: централизованная выдача доступа к локальной сети (политики)

Полагаться на то, что каждый пользователь правильно ответит на запрос браузера, не стоит: отказ запоминается, а сообщение об ошибке при этом не показывается. Разрешение можно раздать групповыми политиками.

Браузеры на движке Chromium

Политика называется LocalNetworkAccessAllowedForUrls, тип — список строк. В неё добавляются адреса источника, то есть адрес веб-приложения eXpress, а не адреса серверов.

Браузер Windows: ветка реестра Linux: каталог политик
Google Chrome HKLM\SOFTWARE\Policies\Google\Chrome\LocalNetworkAccessAllowedForUrls /etc/opt/chrome/policies/managed/
Chromium HKLM\SOFTWARE\Policies\Chromium\LocalNetworkAccessAllowedForUrls Пакет DEB или RPM (Astra Linux, РЕД ОС и другие): /etc/chromium/policies/managed/
⚠️ Пакет snap (так Chromium устанавливается в Ubuntu по умолчанию): /var/snap/chromium/current/policies/managed/. Файлы в /etc при этом игнорируются
Microsoft Edge HKLM\SOFTWARE\Policies\Microsoft\Edge\LocalNetworkAccessAllowedForUrls /etc/opt/edge/policies/managed/
Yandex Browser HKLM\SOFTWARE\Policies\YandexBrowser\LocalNetworkAccessAllowedForUrls /etc/opt/yandex/browser/policies/managed/
Vivaldi HKLM\SOFTWARE\Policies\Vivaldi\LocalNetworkAccessAllowedForUrls /etc/vivaldi/policies/managed/
Opera Не поддерживаются: на Windows политики не применяются. Разрешение выдаётся вручную пользователем /etc/opt/opera/policies/managed/

Каждый адрес в реестре Windows — отдельный строковый параметр (REG_SZ) с числовым именем. Пример:

reg add "HKLM\SOFTWARE\Policies\Google\Chrome\LocalNetworkAccessAllowedForUrls" /v 1 /t REG_SZ /d "https://corp.express" /f

Пример для Linux — файл /etc/opt/chrome/policies/managed/express.json:

{
  "LocalNetworkAccessAllowedForUrls": ["https://corp.express"]
}

На macOS та же политика раздаётся конфигурационным профилем для доменов настроек com.google.Chrome, com.microsoft.Edge и аналогичных.

Проверить, что политика применилась, можно на служебной странице браузера: chrome://policy, edge://policy, browser://policy, vivaldi://policy. Политика должна отображаться со статусом OK и с указанием источника — каталога или ветки реестра, из которых она прочитана.

Mozilla Firefox

Используется политика LocalNetworkAccess с массивом исключений SkipDomains. Файл policies.json:

{
  "policies": {
    "LocalNetworkAccess": {
      "SkipDomains": ["corp.express"],
      "Locked": true
    }
  }
}

То же самое через групповые политики Windows:

Software\Policies\Mozilla\Firefox\LocalNetworkAccess\SkipDomains\1 = "corp.express"
Шаблон *.corp.express включает и сам домен, и все поддомены. Запись без *. действует только на точное совпадение.

Apple Safari

Посайтовой политики доступа к локальной сети нет. Управление возможно только на уровне macOS — разрешением в разделе Локальная сеть настроек конфиденциальности, которое Safari получает автоматически.

Временное отключение проверок

Пока инфраструктура не готова, а разрешение не выдано, проверки можно отключить целиком — как централизованно на все браузеры организации, так и вручную на одном компьютере для диагностики. Это должна быть аварийная мера, а не постоянная настройка.

Браузер Централизованно (администратору) Вручную на одном экземпляре
Chrome, Edge, Yandex Browser, Vivaldi Та же ветка реестра или каталог политик, что и для LocalNetworkAccessAllowedForUrls выше — добавить параметр LocalNetworkAccessRestrictionsTemporaryOptOut (REG_DWORD на Windows, булево значение на macOS и Linux) со значением 1 / true chrome://flags/#local-network-access-check > выбрать Disabled и перезапустить браузер.
В Edge — edge://flags/..., в Yandex Browser — browser://flags/..., в Vivaldi — vivaldi://flags/...
Opera На Windows раздать централизованно нельзя; на Linux — тот же каталог политик, что и выше opera://flags/#local-network-access-check > Disabled
Mozilla Firefox Тот же файл policies.json, что и выше — политика LocalNetworkAccess с параметром "Enabled": false отключает все проверки полностью about:config > параметр network.lna.enabled > false
Apple Safari Не применимо — WebKit пока не реализовал ограничение доступа к локальной сети, отключать нечего

Значение 1 / true у LocalNetworkAccessRestrictionsTemporaryOptOut не просто скрывает предупреждение: оно отключает саму блокировку запросов к локальной сети — вместо блокировки браузер лишь выводит предупреждение в консоли разработчика при потенциальном нарушении.

⚠️ Сама эта политика тоже временная: по текущим планам Google её уберут из Chrome после версии 156. Она создана как аварийный клапан на время миграции, а не постоянное решение — держать её включённой на всех рабочих местах постоянно не стоит. Долгосрочный способ снять ограничение для конкретного сайта — LocalNetworkAccessAllowedForUrls.

Что учесть на будущее

  • Ограничение постепенно распространяется на всё больше типов соединений. Сначала оно затрагивало обычные запросы к серверу, затем WebSocket-соединения, в разработке — применение к WebRTC. Когда это произойдёт, без выданного разрешения перестанут работать и медиасоединения напрямую.
  • Ограничение не срабатывает, если само веб-приложение открыто по адресу внутри вашей сети. Если организация разворачивает собственный экземпляр веб-приложения в закрытом контуре, проблема не возникает.
  • Ограничение определяется по IP-адресу назначения, а не по доменному имени. Один и тот же адрес веб-приложения может требовать разрешения в одной сети и не требовать в другой — это ожидаемое поведение.

Настройка синхронизации времени

Для корректной работы приложения время должно быть синхронизировано и на устройствах пользователей, и на серверах. Если время расходится, возможны ошибки входа, неверные отметки времени у сообщений и статус пользователя, показанный будущим временем.

Как настроить время на моём устройстве?

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

  • Если приложение не пускало вас, повторите вход. Не получилось — перезапустите приложение и попробуйте снова.
  • Если вы уже вошли, перезапустите приложение: на телефоне смахните его из списка открытых приложений, в вебе и десктопе нажмите Ctrl (Cmd) + R.
Платформа Шаги
Windows Откройте Параметры > Время и язык > Дата и время. Включите Устанавливать время автоматически и Устанавливать часовой пояс автоматически, затем нажмите Синхронизировать.
macOS Откройте Системные настройки > Основные > Дата и время. Включите Устанавливать дату и время автоматически и Устанавливать часовой пояс автоматически.
Linux Включите автоматическую синхронизацию времени в настройках рабочего стола (раздел даты и времени). Если такой настройки нет, выполните в терминале sudo timedatectl set-ntp true и проверьте результат командой timedatectl status: в строке System clock synchronized должно быть yes.
Android Включите в системных настройках автоматические дату, время и часовой пояс.
iOS/iPadOS Включите в системных настройках автоматическую установку времени. Если она уже включена, выключите её и включите снова.
Аврора Включите в системных настройках автоматическое определение даты и времени.

Если после этого время на устройстве всё равно расходится с реальным, обратитесь в поддержку своей организации: в корпоративной сети источник точного времени может быть задан политиками.

Администратору: синхронизация времени на серверах
CTS
eCTS

На серверах платформы время синхронизируется NTP-клиентом chrony. Установка и настройка описаны в разделах подготовки операционной системы: Astra Linux, РЕД ОС, Ubuntu и Debian.


Если в организации есть свои источники точного времени, укажите их в конфигурации chrony вместо строки pool и перезапустите службу. Проверить, к каким источникам подключён сервер, можно командой chronyc sources -v.

Удалённый или виртуальный рабочий стол

При использовании VDI (например, VMware Horizon или Citrix) или подключении через протокол RDP потребуется предварительная настройка.

При возникновении проблем с производительностью и отображением десктоп-приложения в среде VDI попробуйте поменять параметры производительности.

Почему после завершения сеанса VDI приходится входить в приложение заново?

Экран входа может появляться снова потому, что VDI отдаёт при следующем подключении пользователя новый пустой профиль браузера или новую пользовательскую папку. Решение — настроить сохранение папок между сессиями VDI.

Администратору: настройте сохранение папок в сессиях VDI

Необходимо настроить сохранение папок профиля браузера и приложения между сессиями VDI, иначе при следующем подключении через VDI пользователям придётся каждый раз входить в приложение заново.

⚠️ Перед этим убедитесь, что в VDI не настроена выдача случайных рабочих столов пользователям из пула, иначе сохранение папок не будет работать в принципе.
ОС Папки
Windows
  • Google Chrome: %LOCALAPPDATA%\Google\Chrome\User Data\Default и файл %LOCALAPPDATA%\Google\Chrome\User Data\Local State
  • Mozilla Firefox: %APPDATA%\Mozilla\Firefox целиком (в корне этой папки лежат profiles.ini и installs.ini — без них браузер создаст новый пустой профиль)
  • Microsoft Edge: %LOCALAPPDATA%\Microsoft\Edge\User Data\Default и файл %LOCALAPPDATA%\Microsoft\Edge\User Data\Local State
  • Opera: %APPDATA%\Opera Software\Opera Stable\Default и файл %APPDATA%\Opera Software\Opera Stable\Local State
  • Яндекс Браузер: %LOCALAPPDATA%\Yandex\YandexBrowser\User Data\Default и файл %LOCALAPPDATA%\Yandex\YandexBrowser\User Data\Local State
  • Десктоп-приложение: %AppData%\eXpress и %AppData%\Microsoft\Credentials и %LocalAppData%\Microsoft\Vault
macOS
  • Google Chrome: ~/Library/Application Support/Google/Chrome/Default
  • Mozilla Firefox: ~/Library/Application Support/Firefox/ целиком (включая profiles.ini) и ~/Library/Caches/Firefox/Profiles/
  • Microsoft Edge: ~/Library/Application Support/Microsoft Edge/Default
  • Opera: ~/Library/Application Support/com.operasoftware.Opera/Default
  • Яндекс Браузер: ~/Library/Application Support/Yandex/YandexBrowser/Default
  • Safari: ~/Library/Safari/ и ~/Library/Containers/com.apple.Safari/Data/Library/
  • Связка ключей (в ней хранятся ключи шифрования cookies): ~/Library/Keychains/login.keychain-db
  • Десктоп-приложение: ~/Library/Application Support/eXpress
Linux
  • Google Chrome: ~/.config/google-chrome/Default
  • Chromium — путь зависит от способа установки:
    • пакет DEB/RPM: ~/.config/chromium/Default
    • snap (по умолчанию в Ubuntu): ~/snap/chromium/common/chromium/Default
  • Mozilla Firefox — путь зависит от способа установки:
    • пакет DEB/RPM: ~/.mozilla/firefox/
    • snap (по умолчанию в Ubuntu): ~/snap/firefox/common/.mozilla/firefox/
    • flatpak: ~/.var/app/org.mozilla.firefox/.mozilla/firefox/
    Сохраняйте папку целиком, вместе с файлом profiles.ini.
  • Microsoft Edge: ~/.config/microsoft-edge/Default
  • Opera: ~/.config/opera/Default
  • Яндекс Браузер: ~/.config/yandex-browser/Default
  • Хранилище ключей (в нём ключи шифрования cookies): ~/.local/share/keyrings/
  • Десктоп-приложение: ~/.config/eXpress
В путях выше Default — папка профиля браузера по умолчанию. Если пользователь работает в другом профиле, укажите его папку: она называется Profile 1, Profile 2 и так далее (у Firefox — (<случайный_код>).default(-release)). Точный путь виден в самом браузере на странице chrome://version (в Яндекс Браузере — browser://version) в строке Путь к профилю. Профиля с именем Default может не быть вовсе.
Копировать и возвращать данные нужно при закрытом браузере.
Если сохранять папку профиля целиком нельзя (например, ограничен размер перемещаемого профиля), минимально необходимый набор внутри неё:
  • IndexedDB — обязательно: именно здесь веб-приложение eXpress хранит сессию. В cookies её нет, сервер их вообще не выставляет.
  • Local Storage — обязательно вместе с IndexedDB: без него сохранённая сессия будет считаться устаревшей.
  • Network (только Windows) — cookies остальных сайтов.
  • Local State в корне папки браузера (только Windows) — ключ, которым зашифрованы cookies.
Папки Cache, Code Cache и Service Worker сохранять не нужно: они заполнятся заново, но при этом занимают основной объём профиля — несколько гигабайт.
Подпапка Network внутри профиля есть только у Chromium-браузеров на Windows. На macOS и Linux те же браузеры хранят файл cookies прямо в папке профиля.
Ключ шифрования cookies хранится отдельно от профиля: на Windows — в файле Local State, на macOS — в связке ключей, на Linux — в GNOME Keyring или KWallet. Если сохранить папку профиля без них, cookies расшифровать не удастся.
Проверить результат можно в браузере: F12 > Application > IndexedDB > должна быть база authState с непустым хранилищем.

Звонки и конференции через VDI/RDP

Почему звонки через VDI работают хуже, чем на физическом компьютере?

⚠️ Мы не можем гарантировать корректную работу аудио-/видеозвонков при работе через VDI, и следующие рекомендации могут помочь не во всех случаях. Разработчики продолжают оптимизировать работу приложения в среде VDI.
Администратору: запрет звонков в VDI для десктоп-приложения Если в вашей VDI-среде звонки не поддерживаются, их можно отключить в приложении принудительно. Приложение не всегда определяет VDI-окружение корректно, поэтому режим задаётся отдельно:
Десктоп-платформа Шаги
Windows
macOS
  1. Добавьте в AppConfig.json в папке /Users/имя_пользователя/Library/Application Support/имя_приложения строку Vdi="true":
    {
    "Vdi": true
    }
  2. Перезапустите приложение.
    Linux
    1. Добавьте в AppConfig.json в папке /home/имя_пользователя/.config/имя_приложения строку Vdi="true":
      {
      "Vdi": true
      }
    2. Перезапустите приложение.
      Требуется версия 3.64 или выше. После включения при попытке позвонить пользователь увидит уведомление «Звонки недоступны на этом устройстве» или «Конференции недоступны на этом устройстве».
      Администратору: настройка звука в VMware Remote Console

      С помощью VMware Remote Console можно добавлять и удалять звуковые карты на виртуальных машинах Horizon с Windows и Linux. Добавьте звуковую карту:

      1. Перейдите к нужной виртуальной машине в VMware Remote Console и откройте её настройки:
        • В Windows выберите VMRC > Управление > Настройки виртуальной машины.
        • В Linux выберите Виртуальная машина > Настройки виртуальной машины.
      2. Откройте вкладку Оборудование и нажмите Добавить.
      3. Выберите Звуковая карта и нажмите кнопку Готово.

      Настройка звука в клиенте VMware Horizon

      В настройках клиента Horizon нужно выбрать конкретные устройства ввода/вывода звука и видео. Если это не сделать, в десктоп-приложении некоторые устройства могут не работать.


      Как выбрать устройства:

      1. В клиенте VMware Horizon выберите Settings.
      2. В разделе Real-Time Audio-Video вместо All в полях выберите устройства, которые будут использоваться для общения.

      Выберите устройства в настройках десктоп-приложения, установленного в виртуальной машине:

      1. Микрофон: Набор микрофонов (VMware Virtual Microphone).
        Может понадобиться поменять выбор на другое устройство, потом снова выбрать это, чтоб сработало («ожил» индикатор).
      2. Устройство вывода: укажите используемое в системе устройство по умолчанию.
      3. Камера: может быть несколько вариантов, но работать будет только один.
      Администратору: настройка звука на сервере RDP (Windows)

      В редакторе групповых политик в разделе Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удаленных рабочих столов > Узел сеансов удаленного рабочего стола > Перенаправление устройств и ресурсов включите следующие политики:

      • Разрешить перенаправление воспроизведения звука и видео
      • Разрешить перенаправление записи звука

      Настройка звука в клиенте RDP

      Чтобы работал звук в конференциях при подключении через RDP, в настройках подключения разрешите доступ к звуковым устройствам своего компьютера:

      ОС и клиент Шаги
      Windows
      («Подключение к удаленному рабочему столу»)
      1. 1. В свойствах подключения на вкладке Локальные ресурсы в группе Звук удаленного рабочего стола нажмите кнопку Параметры.
      2. 2. В группе Воспроизведение звука выберите Проигрывать на этом компьютере, в группе Запись звука — Записать с этого компьютера.
      macOS
      (Microsoft Remote Desktop)
      1. 1. В свойствах удалённого компьютера откройте вкладку Devices & Audio.
      2. 2. Установите флажок Microphone и выберите значение On this computer для параметра Play sound.
      Linux
      (Remmina)
      1. 1. Создайте или откройте сохраненное подключение.
      2. 2. На вкладке Настройки найдите группу Звук.
      3. 3. Для Выходного звука выберите Локально.
      4. 4. Для Входного звука выберите Локальный микрофон.

      Управление сертификатами

      CTS
      ETS
      eCTS
      Дополнительные манипуляции с сертификатами SSL могут потребоваться корпоративным пользователям, только если в их организации используются собственные корпоративные сертификаты — их установка и обновление производятся через поддержку их организации. Пользователям публичного сервера или корпоративным пользователям, если нестандартные корпоративные сертификаты не используются, ничего делать не нужно — необходимые стандартные сертификаты уже установлены на серверах и встроены в приложение и операционные системы.
      Администратору: о сертификатах SSL и их диагностике
      CTS
      ETS
      eCTS

      Клиентские сертификаты

      На большинстве корпоративных серверов используются стандартные сертификаты, уже имеющиеся в популярных клиентских операционных системах, не требующие ручной установки. При использовании собственных сертификатов организации, установите сертификат в ОС устройства.

      Приложение для Android поддерживает только системные и встроенные в само приложение сертификаты (начиная с версии приложения 3.24). Поэтому собственный сертификат организации потребуется «вшить» в приложение (как правило, это делается по заказу разработчиками для брендированных ETS-приложений).

      Серверные сертификаты

      Инструкции по установке: документация для администраторов.

      Проверка сертификатов

      См. диагностику сертификатов SSL.


      Сертификаты НУЦ Минцифры

      CTS
      ETS
      eCTS

      Если сервер вашей организации перешёл на TLS-сертификат национального удостоверяющего центра Минцифры (Russian Trusted Root CA и Russian Trusted Sub CA), на части устройств потребуется установить сертификаты этого центра вручную — иначе приложение не сможет подключиться к серверу.


      Нужно ли что-то делать, зависит от операционной системы:

      Платформа Что делать
      Российские ОС:
      Astra Linux, РЕД ОС, Аврора
      Российские браузеры:
      Яндекс Браузер, Chromium GOST, «Атом»

      Ничего делать не нужно. Сертификаты Минцифры входят в состав операционной системы или браузера, и приложение их использует.

      Android

      Ничего делать не нужно. Начиная с версии 3.24 приложение использует сертификаты, встроенные в него разработчиком, — сертификаты Минцифры в их числе.

      ETS

      Исключение — брендированные ETS-приложения и сборки с SSL Pinning: набор встроенных сертификатов у них может отличаться, и после перехода сервера на Минцифры приложение перестаёт подключаться у всех сотрудников сразу. Решается на стороне сборки — обратитесь в поддержку своей организации.


      ⚠️ Если сервер вашей организации использует сертификат другого удостоверяющего центра, корень которого в приложение не встроен, подключение на Android работать не будет: установка сертификата в систему на версиях 3.24 и выше не действует. В этом случае обратитесь в поддержку своей организации — вопрос решается на стороне сборки приложения.

      Windows

      Установите оба сертификата вручную по инструкции.

      macOS

      Установите оба сертификата вручную и обязательно включите для них доверие по инструкции.

      iOS / iPadOS

      Установите оба сертификата вручную и включите для них доверие по инструкции.

      Прочие Linux:
      Debian, Ubuntu, Linux Mint и производные

      Установите оба сертификата вручную. ⚠️ Десктоп-приложению на этих системах недостаточно установки сертификата в общесистемное хранилище — см. инструкцию.

      После установки сертификатов полностью завершите приложение и запустите заново. На Windows, macOS и Linux приложение продолжает работать в фоне после закрытия окна — закройте его через значок в области уведомлений (в трее).

      Где взять сертификаты Минцифры

      Корневой и промежуточный сертификаты публикуются на портале Госуслуг: gosuslugi.ru/crt. Нужны оба.

      Если на сервере организации используется обычный (не ГОСТ) сертификат, берите не-ГОСТ вариант. ГОСТ-сертификаты требуют отдельного криптопровайдера на каждом устройстве и здесь не подойдут.

      Администратору: как проверить результат и массовая установка

      Как проверить, что сервер перешёл на Минцифры

      Откройте в браузере ссылку вида https://адрес_вашего_сервера/system/settings/version и посмотрите сведения о сертификате по значку замка́ в адресной строке. В поле издателя будет указан Russian Trusted Sub CA.


      Если браузер сообщает, что сертификат недоверенный, — сертификаты Минцифры на этом устройстве ещё не установлены.

      В браузерах Yandex Browser, Chromium GOST, «Атом» вшиты сертификаты российских УЦ, в том числе Минцифры, поэтому с их помощью нельзя проверить, установлены ли эти сертификаты в системе. Кроме того, если на ПК установлен антивирус Касперского или иное защитное ПО, может отображаться их сертификат вместо сертификата сервера.

      Массовая установка

      На Windows сертификаты раскатываются групповыми политиками в хранилище локального компьютера. На macOS и iOS — только через систему управления устройствами (MDM) или профиль конфигурации: вручную выставить доверие сертификату может лишь пользователь за компьютером — скриптом или удалённо это сделать нельзя.