Как связаны HTTPS и WebRTC
Чтобы пользователи могли участвовать в конференциях TrueConf Server через WebRTC-приложение в браузерах, необходимо настроить на сервере HTTPS соединение и открыть UDP порты.
Если соединение будет небезопасным (HTTP), то, открыв страницу TrueConf Server или конференции из браузера, ее гости обнаружат предупреждение.
Также наличие HTTPS соединения является обязательным для успешной синхронизации TrueConf Server при подключении его к TrueConf Directory.
https
. Например: https://video.company.com
.Как настроить HTTPS соединение
Вам потребуется файл SSL-сертификата в формате X.509 (*.сrt) и соответствующий ему файл приватного ключа (*.key).
Существует два типа сертификатов — коммерческие и самоподписанные.
Самоподписанный сертификат бесплатен. Для TrueConf Server такой сертификат можно сгенерировать прямо из панели управления сервера сроком на 365 дней (с последующим неограниченным продлением). Далее его можно будет использовать для тестирования WebRTC-приложения. Однако, перед этим каждому участнику конференции потребуется вручную добавить его в список доверенных в используемом браузере.
Коммерческий сертификат является полноценным, доверенным для браузеров и обладает высоким уровнем защиты. Однако, такой сертификат платный. Получить его можно у:
- «Let’s encrypt» (бесплатно, но сроком на 90 дней);
- локального центра сертификации Active Directory;
- DigiCert.
Как использовать коммерческий сертификат в TrueConf Server
Выберите Использовать загруженный сертификат в панели управления TrueConf Server в разделе Веб → HTTPS (блок Конфигурация HTTPS).
Укажите в появившемся поле HTTPS порт, по которому ваш сервер доступен из интернета. По умолчанию выставлен стандартный TCP порт 443, и, как правило, это верный вариант.
Далее в соответствующие поля блока Загруженный сертификат загрузите файлы сертификата и его ключа.
После успешной загрузки в данном блоке появится запись о добавленном сертификате.
Как создать самоподписанный сертификат
В разделе Веб → HTTPS панели управления вашего сервера TrueConf нажмите на кнопку Создать новый SSL сертификат.
После окончания срока действия такого сертификата можно сгенерировать новый.
Как конвертировать сертификат для настройки HTTPS соединения в TrueConf Server
Для настройки HTTPS-подключения к TrueConf Server используется SSL-сертификат. В случае, если он имеет отличное от .crt расширение файла, вам необходимо преобразовать его в нужный формат. Для этого вы можете использовать бесплатные библиотеки OpenSSL. Они являются предустановленными на платформе Linux, но для использования в среде Windows вы можете скачать их, перейдя по ссылке.
В зависимости от разрешения файла сертификата, преобразование может проходить в два этапа:
- конвертация в формат .pem;
- смена расширения файла на .crt.
Конвертация файла сертификата в .pem формат
- Из формата .der
1openssl x509 -inform der -in certificate.cer -out certificate.pem - Из формата .p7b
1openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer - Из формата .pfx
1openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
Смена расширения на .crt и добавление промежуточного сертификата
Поменяйте расширение у полученного .pem-файла на .crt. В итоге должен получиться файл certificate.crt
.
В некоторых случаях браузеры могут выдавать предупреждение о недоверии к сертификату. Для устранения такой проблемы в настройки HTTP-сервера необходимо также добавить промежуточный сертификат. Он служит для проверки HTTPS соединения, установленного с помощью SSL-сертификата.
Чтобы добавить промежуточный сертификат, вам нужно выполнить следующее:
- Откройте в текстовом редакторе конечный, промежуточный и корневой сертификаты.
- Скопируйте содержимое промежуточного сертификата и вставьте в конец файла конечного сертификата.
- Повторите шаг 2 для корневого сертификата.
- Сохраните изменения в конечном сертификате.
Проверка конфигурации TrueConf Server после установки сертификата
Неверные данные о порте и параметрах сертификата могут стать причиной того, что в следующий раз TrueConf Server не запустится, и администратор потеряет доступ к его панели управления.
Инициировать проверку конфигурации HTTPS сервера без его перезагрузки можно с помощью кнопки Проверить конфигурацию (раздел Веб → HTTPS блок Конфигурация HTTPS в панели управления TrueConf Server).
Если сертификат установлен правильно (порт HTTPS также должен быть доступен), появится надпись Конфигурация успешно протестирована. Далее следует обязательно нажать кнопку Применить, служба сервера при этом перезапустится.
Если при проверке конфигурации возникнут проблемы, свяжитесь с нашей техподдержкой.
Если вам не нужно использовать HTTPS cоединение, вы можете его отключить также в текущем разделе панели управления сервера.
Решение проблем при использовании HTTPS или WebRTC
Ошибка с кодом 10000 при подключении к конференции через браузер
Если при попытке подключения через браузер (по WebRTC) к мероприятию на вашем TrueConf Server пользователь получает сообщение об ошибке с кодом 10000, то скорее всего на стороне сервера не открыты необходимые порты:
- Порт 443 (TCP). Для передачи служебной информации между сервером, клиентскими приложениями и браузерами, стандартный HTTPS порт. Но может быть настроен другой в панели управления сервером, тогда надо проверить именно ваш.
- Диапазон портов 53000-55000 (TCP, UDP). Необходим для работы WebRTC между сервером и браузером пользователя. Также могут быть настроены другие в панели управления, проверять надо именно ваши.
- Порт 3478 (TCP, UDP) к STUN и TURN серверам. Необходим для работы WebRTC.
- При использовании прокси-сервера (SOCKS5 Proxy) он должен пропускать указанные порты, а также уметь работать по протоколу websocket и на нём должно быть верно настроено аппроксимирование запросов по протоколу websocket. Протокол websocket используется в качестве сигнального протокол при установлении связи по WebRTC.
В случае, если не выполняется хоть одно из указанных выше условий, пользователи при подключении к конференции через браузер будут получать ошибку 10000.