Собственный прокси-сервер для подключений¶
Когда технический специалист подключается к удалённому устройству, система пытается установить прямое P2P-соединение между сторонами с помощью протокола WebRTC. Однако из-за сетевых ограничений на одной из сторон прямое соединение не всегда возможно. В таких случаях система использует прокси-серверы, чтобы обеспечить надёжное подключение технического специалиста к удалённому устройству.
Файловый менеджер
Прокси-серверы также активно используются в режиме передачи файлов. Подробнее о файловом менеджере читайте в отдельном руководстве.
Типы прокси-серверов¶
Стандартные¶
SaaS-версия нашей системы использует несколько прокси-серверов, распределённых по различным регионам. Это позволяет обеспечить более низкую задержку и более быструю передачу видеотрафика и файлов от приложения Агент на удалённом устройстве к браузеру технического специалиста. Однако, несмотря на географическое распределение, ресурсы этих серверов ограничены и могут быть перегружены в зависимости от активности пользователей.
Пользовательские¶
Помимо общих стандартных прокси-серверов, наша система позволяет развернуть индивидуальные прокси-серверы для конкретной команды. Это помогает организовать стабильное и безопасное подключение к вашим устройствам, не зависящее от общей нагрузки на систему.
Как работает прокси-сервер¶
Прокси-сервер выступает посредником между приложением Агент на удалённом устройстве и браузером Техника. При установлении удалённой сессии приложение Агент подключается к прокси-серверу и передаёт ему медиаданные или файлы. Одновременно браузер Техника также подключается к этому же прокси-серверу и получает данные, отправленные приложением Агент. Таким образом, прокси-сервер обеспечивает передачу данных между участниками соединения.
Чтобы приложение Агент и браузер могли подключаться к прокси-серверу, поддерживаются два канала:
- WebRTC — в этом режиме прокси запускает стандартный TURN-сервер в рамках протокола WebRTC.
- WebSocket — в этом режиме прокси запускает веб-сервер, доступный по протоколу HTTPS.
Техник выбирает используемый канал в настройках карточки устройства или в панели подключения. Если в пользовательском прокси настроен только один канал, выбора у специалиста не будет.
Канал передачи данных
Подробнее о каналах передачи данных читайте в руководствах Качество изображения экрана и Функции управления экраном.
Настройка пользовательского прокси-сервера¶
Установка Шлюза¶
Для развёртывания собственного прокси-сервера необходимо использовать приложение Шлюз. Оно имеет специальный режим работы, позволяющий использовать его в качестве прокси-сервера.
Скачать и установите приложение Шлюз на выделенный виртуальный сервер, который будет использоваться в качестве вашего персонального прокси-сервера. Выбирайте сервер с максимально хорошими сетевыми условиями для связи как с удалённым устройством, так и с устройством технического специалиста.
Руководство по установке Шлюза
Подробнее о процессе установки читайте в руководстве Что такое приложение Шлюз?.
Системные требования
Для прокси-сервера рекомендуется использовать следующие минимальные системные требования:
- Оперативная память: 2 ГБ
- Процессор: 2 ядра
- Диск: 16 ГБ
- Пропускная способность канала: до 100 Мбит/с
Требования к сети для канала WebRTC
Статический IP-адрес для сервера не требуется, однако сервер должен быть доступен по IP-адресу для остальных участников сети: основного сервера, браузера технического специалиста и приложения Агент. Также потребуется открыть порты для входящих и исходящих TCP- и UDP-подключений. Подробнее см. в разделе ниже.
Требования к сети для канала WebSocket
Для сервера потребуется статический IP-адрес, доменное имя, SSL-сертификат и открытый порт 443 для входящих TCP-подключений. Подробнее см. в разделе ниже.
Настройка Шлюза¶
Привязка Шлюза к учётной записи¶
После установки приложения Шлюза на выделенный виртуальный сервер необходимо привязать его к вашей учётной записи на основном сервере Connect.
Для этого откройте личный кабинет, перейдите в раздел Настройки, затем на страницу Шлюзы. Создайте новый профиль шлюза с любым удобным названием. После создания откройте карточку шлюза и скачайте файл config.json на вкладке Установка и запуск.
Этот файл уже содержит все необходимые данные. Разместите его на выделенном сервере рядом с исполняемым файлом gateway. Ниже приведён пример и описание параметров, используемых для подключения к серверу:
| Параметр | Тип | Описание |
|---|---|---|
server.host | string | Адрес сервера. По умолчанию: pro32connect.ru |
server.token | string | Токен авторизации |
server.secure | boolean | Подключаться только к серверам с действительным SSL-сертификатом. По умолчанию: true |
Пример файла конфигурации
После этого запустите Шлюз следующей командой:
После запуска Шлюз в журнале приложения должна появиться строка, похожая на приведённую ниже. Это означает, что Шлюз успешно подключился к серверу Connect:
Настройка канала WebRTC для прокси-сервера¶
Чтобы включить канал WebRTC на прокси-сервере, откройте профиль Шлюз в личном кабинете, перейдите на вкладку Проксирование подключений и включите опцию Разрешить WebRTC-канал:
Если вы хотите настроить параметры TURN-сервера, можно указать дополнительные параметры в разделе proxy.webrtc файла config.json.
Все доступные параметры приведены в таблице ниже:
| Параметр | Тип | Описание |
|---|---|---|
proxy.webrtc.public_ip | string | Публичный IP-адрес |
proxy.webrtc.listen_ip | string | Внутренний IP-адрес для прослушивания входящих подключений |
proxy.webrtc.port | number | Порт для прослушивания входящих TCP-подключений. По умолчанию: 3478. |
proxy.webrtc.udp_ports_max | number | Максимальный порт диапазона для прослушивания входящих UDP-подключений. По умолчанию: 60000 |
proxy.webrtc.udp_ports_min | number | Минимальный порт диапазона для прослушивания входящих UDP-подключений. По умолчанию: 40000 |
Пример
Настройка канала WebSocket для прокси-сервера¶
Чтобы включить канал WebSocket на прокси-сервере, откройте профиль Шлюза в личном кабинете, перейдите на вкладку Проксирование подключений и включите опцию Разрешить WebSocket-канал:
Затем в файле config.json укажите доменное имя, по которому будет доступен ваш прокси-веб-сервер, в параметре proxy.websocket.host.
При необходимости вы также можете настроить дополнительные параметры из таблицы ниже:
| Параметр | Тип | Описание |
|---|---|---|
proxy.websocket.host | string | Доменное имя, по которому будет доступен Шлюз и для которого выпущен SSL-сертификат |
proxy.websocket.listen_ip | string | IP-адрес для прослушивания входящих подключений. По умолчанию: 0.0.0.0 |
proxy.websocket.port | number | Порт для прослушивания входящих подключений. По умолчанию: 443 |
Пример
Доменное имя
Необходимо создать запись типа A в DNS-настройках вашего регистратора домена, указав в качестве значения публичный IP-адрес сервера. Для удобства можно использовать поддомен.
После этого выпустите SSL-сертификат для выбранного доменного имени и поместите файлы сертификата и закрытого ключа в каталог cert, расположенный рядом с файлом config.json. Файлы должны иметь имена server.crt и server.key.
SSL-сертификат
Вы можете выпустить сертификат с помощью бесплатного центра сертификации Let’s Encrypt .
Если всё настроено правильно, при открытии корневой страницы вашего доменного имени по HTTPS вы увидите сообщение:
Принудительное использование¶
По умолчанию настроенные пользовательские прокси-серверы не гарантированно используются для всех ваших подключений. Они добавляются как дополнительный вариант к существующим общим стандартным прокси-серверам, но только для вашей учётной записи. Если система определит, что ваш пользовательский прокси-сервер является оптимальным вариантом, будет использован именно он. В противном случае будет выбран общий стандартный прокси-сервер.
Чтобы система использовала только ваши пользовательские прокси-серверы, можно включить режим принудительного использования. Для этого откройте раздел Настройки, перейдите на вкладку Команда и включите опцию Используйте только пользовательские прокси-серверы для передачи медиаданных:
Самостоятельное обслуживание
При включении режима использования только собственных прокси-серверов вы полностью берёте на себя ответственность за их обслуживание и доступность. Обязательно контролируйте загрузку ресурсов и работоспособность ваших прокси-серверов.
Подготовка приложения Агент¶
Прокси-сервер выбирается со стороны приложения Агент в момент установления соединения, то есть со стороны удалённого устройства.
Чтобы приложение Агент обнаружило новый прокси-сервер, необходимо его перезапустить. Поэтому после завершения всех описанных выше этапов настройки пользовательского сервера необходимо перезапустить приложение Агент на удалённых устройствах.
Проверка доступности и использования¶
Чтобы убедиться, что во время подключения используется ваш пользовательский прокси-сервер, подключитесь к удалённому устройству, переключитесь на канал WebSocket в окне управления сигнализацией и проверьте поле Proxy. В нём должно отображаться доменное имя вашего прокси-сервера.
Если используется канал WebRTC и прямое P2P-соединение недоступно, будет задействован TURN-прокси-сервер. В поле Proxy будет отображаться IP-адрес вашего прокси-сервера.






