Bbb: различия между версиями

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску
(Установка BBB, если требуется внешний reverse-proxy снаружи)
Строка 40: Строка 40:
  
 
Практически всё готово. Но не всё...
 
Практически всё готово. Но не всё...
 
=Какие забрасывать порты=
 
 
UDP ports 16384-32768 (WebRtc), 24577-32768(Kurento)
 
 
TCP/UDP ports 5066 (этот под вопросом. Возможно, не нужно), 7443, 443 (через nginx proxy with letsencrypt)
 
 
=Особенности=
 
 
Видеоконфа по звуку никогда не будет работать через http. Это ограничения браузера, наряду со всякими CORS и т.п (веяния времени, безопасность и все такое...). Только https, причём валидный (LetsEncrypt, например).
 
 
=Проблемы запуска bbb=
 
По этой инструкции
 
 
https://docs.bigbluebutton.org/2.2/install.html
 
 
https://docs.bigbluebutton.org/2.2/configure-firewall.html
 
 
https://docs.bigbluebutton.org/2.2/customize.html
 
 
 
==Проблема №1 Нет аудио==
 
 
https://github.com/bigbluebutton/bigbluebutton/issues/8514
 
 
 
I had error 1006 after some updates.
 
I solved my problem by editing "/etc/bigbluebutton/nginx/sip.nginx" file:
 
I changed
 
proxy_pass http://x.x.x.x:5066;
 
to
 
proxy_pass https://x.x.x.x:7443;
 
 
I hope it works for you.
 
 
 
==Проблема №2 Ошибка камеры==
 
 
change ws:// to wss://
 
 
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
 

Версия 18:46, 31 августа 2025

Проблематика

Работа BBB за NAT

Когда веб-клиент пытается установить соединение с аудио посредством WebRTC, то в протоколе внутри WebSocket сервер отдаёт внутренний IP сервера вместо внешнего. На этом этапе аудио соединение рушится и это проблема.

Проксирование через Nginx

Если порт 443 и 80 заняты другим сервером (очень часто так бывает), то для работы BBB на определённом домене необходимо настраивать реверс-прокси на внешнем веб сервере (как правило это Nginx). В случае с BBB здесь достаточно хитрая настройка reverse-proxy.

Также необходимо учитывать, что инсталлер BBB не может установить решение без использования certbot и настройки валидного сертификата (с некоторых пор без валидного сертификата в браузерах не работает WebRTC. Вот совсем не работает... Совсем-совсем...).

Поэтому алгоритм установки BBB для работы за reverse-proxy тоже специфический. Можно даже это назвать некоторым лайвхаком...

Решение

Установка BBB, если требуется внешний reverse-proxy снаружи

1. С наружнего роутера забрасываем 80 порт на внутренний ip BBB сервера (вероятно, он используется уже на действующем решении, где работает certbot и обновляет посредством этого 80 порта другие сертификаты LE, однако придётся его временно перерулить на внуренний ip BBB сервера, ведь certbot-у на этом сервере тоже нужно убедиться, что это тот сервер, который имеет право получить валидный сертификат);

2. UDP порты 16384-32768 снаружи заруливаем на внутренний ip адрес BBB и оставляем так навсегда;

3. Запускаем скрипт установки

./bbb-install.sh -v jammy-300 -s bbb-videoserver.ru -e vasya@mail.ru

, где

bbb-videoserver.ru

это домен вашего будущего сервера BBB, а

vasya@mail.ru

это емэйл, на который будет если что писать certbot (в нашем случае не будет, т.к. мы отключим его. Потому что у нас на реверс-прокси есть свой сертбот, который будет обновлять фронтальный сертификат. А внутри BBB сервера через 30 дней сертификат перестанет быть валидным - ну и ладно. Наружнему реверс-прокси будет сказано игнорировать это. И да, это будет безопасно для конечного пользователя);

4. Ждём завершения установки;

5. Возвращаем 80 порт на место.

Практически всё готово. Но не всё...