To ease setup some changes required in the nginx config for load
balancer setup are prepared here. They do not harm non-loadbalancer setups.
The changes in the system startup scripts are mandatory
Associate pads with meetings so session validation is restricted to the
meeting's valid session tokens.
Meteor will dispatch new redis events on shared notes and closed captions
pads creation. This event will go through apps and reach web to populate
a new meeting's pad collection that contains all valid pad id's for that
session. Nginx will use this collection to check if the user's session token
belongs to the pad's authorized users.
Besides these modifications, an extra change will be needed at notes.nginx.
Location /pad/p/ needs to change it's auth_request:
from /bigbluebutton/connection/checkAuthorization;
to /bigbluebutton/connection/validatePad;
Subrequest goes to different endpoint on bbb-web to ensure
that the content length (passed in header) is taken under
consideration prior to uploading file