add documentation on how to record Meteor traffic
This commit is contained in:
parent
fd6104fe09
commit
72e6ae2988
@ -49,3 +49,46 @@ You can also use this also through the test tree, adding the test suite / group
|
|||||||
```bash
|
```bash
|
||||||
$ npm run test:filter "notifications chat"
|
$ npm run test:filter "notifications chat"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Recording Meteor messages
|
||||||
|
|
||||||
|
A modified version of `websockify` can be used to record the Meteor messages exchanged between client and server, by inserted a WebSocket proxy between the client and server, configured to record the sessions.
|
||||||
|
|
||||||
|
First, on the server, obtain the modified `websockify`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git clone https://github.com/BrentBaccala/websockify.git
|
||||||
|
```
|
||||||
|
|
||||||
|
Install additional dependencies:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt install python3-numpy
|
||||||
|
```
|
||||||
|
|
||||||
|
Then add the following stanza to `/usr/share/bigbluebutton/nginx/bbb-html5.nginx`:
|
||||||
|
|
||||||
|
```
|
||||||
|
location ~* /html5client/.*/websocket {
|
||||||
|
proxy_pass http://127.0.0.1:4200;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "Upgrade";
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
From the `websockify` directory, run `websockify` configured to proxy WebSocket connections from port 4200 to port 4100, recording the sessions to files named `bbb.1`, `bbb.2`, etc.:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./run -v --record=bbb --ws-target=ws://localhost:4100{path} 4200
|
||||||
|
```
|
||||||
|
|
||||||
|
Now reload nginx:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo systemctl reload nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
Meteor messages for Big Blue Button sessions will now be recorded for later review.
|
||||||
|
|
||||||
|
It doesn't seem necessary to relay cookies, but that could be done by giving a `--ws-relay-header=Cookie` argument to `websockify`.
|
||||||
|
Loading…
Reference in New Issue
Block a user