Commit Graph

67 Commits

Author SHA1 Message Date
Daniel Schreiber
c46556e1f6 Allow BBB to run behind a proxy the avoid gUM permission queries per node
The idea is to run a loadbalancer node which maps each BBB node to a
path. That way each user gets only one gUM permission query for a
cluster. The loadbalancer node only serves the html5 client, each BBB
node will serve its own API and handle the websockets for freeswitch and
bbb-webrtc-sfu.

Configuring a cluster setup
===========================

* let bbb-lb.example.com be the loadbalancer node
* let bbb-01.eaxmple.com be a BBB node

Loadbalancer
------------

On the loadbalancer node add an nginx configuration similar to this one
for each BBB node:

```
location /bbb-01/html5client/ {
  proxy_pass https://bbb-01.example.com/bbb-01/html5client/;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "Upgrade";
}

```

BBB Node
--------

On the BBB node add the following options to
`/etc/bigbluebutton/bbb-web.properties`:

```
defaultHTML5ClientUrl=https://bbb-lb.example.com/bbb-01/html5client/join
presentationBaseURL=https://bbb-01.example.com/bigbluebutton/presentation
accessControlAllowOrigin=https://bbb-lb.example.com
```

Add the following options to `/etc/bigbluebutton/bbb-html5.yml`:

```
public:
  app:
    basename: '/bbb-01/html5client'
    bbbWebBase: 'https://bbb-01.eaxmple.com/bigbluebutton'
    learningDashboardBase: 'https://bbb-01.eaxmple.com/learning-dashboard'
  media:
    stunTurnServersFetchAddress: 'https://bbb-01.eaxmple.com/bigbluebutton/api/stuns'
    sip_ws_host: 'bbb-01.eaxmple.com'
  presentation:
    uploadEndpoint: 'https://bbb-01.eaxmple.com/bigbluebutton/presentation/upload'
```

Create the following unit file overrides:

* `/etc/systemd/system/bbb-html5-frontend@.service.d/cluster.conf`
* `/etc/systemd/system/bbb-html5-backend@.service.d/cluster.conf`

with the following content:

```
[Service]
Environment=ROOT_URL=https://127.0.0.1/bbb-01/html5client
```

Change the nginx `$bbb_loadbalancer_node` variable to the name of the
load balancer node in `/etc/bigbluebutton/nginx/loadbalancer.nginx` to
allow CORS requests:

```
set $bbb_loadbalancer_node https://bbb-lb.example.com
```

Prepend the mount point of bbb-html5 in all location sections except
from the `location @html5client` section in
`/etc/bigbluebutton/nginx/bbb-html5.nginx`

```
location @html5client {
    ...
}
location /bbb-01/html5client/locales {
    ...
}
```
2021-11-20 22:13:47 +01:00
Vitor Mateus De Almeida
1326f3f791 Add New Layout Manager 2021-05-17 17:25:07 -03:00
Joao Siebel
be8421db3c Merge remote-tracking branch 'upstream/develop' into connection-manager 2020-10-21 13:57:17 -03:00
Joao Siebel
14388ec922 Improve logs for a better debug/understanding of problems related to authentication and log in process 2020-10-07 16:50:17 -03:00
Joao Siebel
b8f42ac712 Create ClientConnections structure and auth-token-validation collection 2020-09-01 09:07:56 -03:00
Anton Georgiev
9aefa76ded allow more tags in welcome message/ mod only message 2020-08-10 16:59:09 -04:00
Anton Georgiev
0d6faa0b57 only allow for https uri in welcome and modOnly messages 2020-07-29 16:08:47 -04:00
Anton Georgiev
2c32608cd5 allow for img tag in welcome and modOnly messages 2020-07-29 15:09:15 -04:00
Anton Georgiev
1ea72ccb95 sanitize modOnlyMessage in html5 client 2020-07-29 11:31:00 -04:00
Joao Siebel
6ac739732c Remove button in error screen when user was banned 2020-06-18 12:12:22 -03:00
Joao Siebel
9690597803 Fix custom parameters for guest users. close #9737 2020-06-02 17:44:17 -03:00
Anton Georgiev
201fa2902e Only provide modOnlyMessage to moderators. Promoted mod requires refresh to see it 2020-05-20 15:56:44 -04:00
Joao Siebel
6f9c8ee8ee Filter by authed users and add projection to the query 2020-05-05 11:19:52 -03:00
Joao Siebel
3b8d10bd8c Fix race condition in addUserSettings 2020-05-04 22:16:52 -03:00
Joao Siebel
7eb935f244 Enforce extractCredentials 2020-04-29 01:41:16 -03:00
Anton Georgiev
e420dc2546 add bbb_show_participants_on_login as a join parameter 2020-01-30 15:43:54 -05:00
Chad Pilkey
6769c42cdf more responsive and less noisy initial connection watcher 2019-08-19 09:24:54 -07:00
Anton Georgiev
9957fd0d37
Revert "Implement HOC to handle errors" 2019-08-16 17:38:17 -04:00
Tainan Felipe
68ac00d086 Remove HasError from Session 2019-08-16 16:51:02 -03:00
Tainan Felipe
6473e6fa3c Rename context functions and restruct the join load component 2019-08-16 16:35:08 -03:00
Tainan Felipe
4bfbb15637 Merge remote-tracking branch 'upstream/master' into join-HOC 2019-08-15 14:50:25 -03:00
Anton Georgiev
97c91f5bef
Merge pull request #7857 from jfsiebel/set-custom-data-after-auth
Delay setCustomData to after join
2019-08-01 14:36:10 -04:00
Anton Georgiev
4bc5799c01 attempt to capture & log more info on client errors 2019-07-31 08:30:34 -04:00
Joao Siebel
893e7d2208 move setCustomData to be slightly earlier 2019-07-30 16:41:03 -03:00
Joao Siebel
cbbc464254 call setCustomData after join. close #7841 2019-07-29 13:42:08 -03:00
Anton Georgiev
bc2eddc779 Log if the content is provided (kurento-extension.js) 2019-07-23 17:46:15 +00:00
Tainan Felipe
acf2a75f86 Implement HOC to handle errors 2019-07-22 13:44:26 -03:00
Anton Georgiev
43482bae08 do not log clientInfo with each log, just the joinhandler one 2019-07-18 21:39:59 +00:00
KDSBrowne
bd9ed853a7 add enabled config to chat in settings.yml 2019-07-17 21:00:33 +00:00
Tainan Felipe
0ae1dacd59 Remove functions that just change state in join and aunthenticate handler 2019-07-16 11:31:29 -03:00
Anton Georgiev
2d753a2512 add missing end of re-run for fetchToken 2019-07-12 21:38:19 +00:00
Anton Georgiev
b2456fa97e prevent looping on fetchToken() 2019-07-12 19:22:47 +00:00
Anton Georgiev
636c705df1 update logCode for fetchToken while not connected 2019-07-12 19:02:07 +00:00
Anton Georgiev
73e9b6d70f prevents client freeze on race condition when customUserSettings set 2019-07-12 18:59:56 +00:00
Anton Georgiev
3fcb95ab44 log structure {logCode, extraInfo}, comment 2019-06-28 21:45:50 +00:00
KDSBrowne
83127bcdae fix animations not working on iOS 12.3 beta 2019-04-11 15:04:10 +00:00
Tainan Felipe
57603084d4 Add banner bar for custom parameters 2019-03-15 17:07:14 -03:00
Anton Georgiev
42ce30416b
Merge pull request #6634 from vitormateusalmeida/issue-5846
Implement enable/disable Animations
2019-02-05 09:49:36 -05:00
Maxim Khlobystov
b86a990612 Add logCode and build number to log messages 2019-02-01 14:12:06 -05:00
Vitor Mateus
c140acbd6b Merge remote-tracking branch 'upstream/master' into issue-5846 2019-01-28 10:14:46 -02:00
Vitor Mateus
b6d5b15e3e Implement enable/disable Animations issue-5846 2019-01-24 14:16:23 -02:00
Tainan Felipe
cd3f47abda Remove unnecessary consoles 2019-01-08 16:58:46 -02:00
Tainan Felipe
a5f15b2e1c Add 400 bad request status to error screen 2019-01-08 16:38:26 -02:00
Tainan Felipe
35ace3e32a Add error description on error screen 2019-01-07 14:26:23 -02:00
KDSBrowne
7c0bef6256 add config param to show userlist on join 2018-12-21 20:16:36 +00:00
KDSBrowne
f5a928e22e open public chat on join (desktop / tablet) 2018-12-18 15:47:47 +00:00
KDSBrowne
86c7e745c5 fix lint errors 2018-12-18 15:15:51 +00:00
KDSBrowne
0b0e587e2b make chat open by default on desktop, closed on mobile phones 2018-12-18 03:28:47 +00:00
KDSBrowne
899c613c3c Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into 2.2-panel-manager 2018-12-14 17:28:30 +00:00
KDSBrowne
775176d9cf Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into 2.2-panel-manager 2018-12-12 17:35:22 +00:00