Thought I might save someone else the ridiculous amount of hours I just spent trying to serve Bob via Nginx.
The use case is putting Bob on my webserver behind an authentication window for quick access from any device without a port open to an non protected server. Because I'm doing this through docker the port to the node server is only available to the nginx instance.
Anyhoo after reading the bob documentation for the ten thousandth time I saw the word that is repeated throughout the documentation about a thousand times: WEBSOCKET.
In order to establish and websocket connection to the server and do things like make new wikis and shut down the server, the site's nginx config (i.e the one in the directory with default.conf) file must be tweaked like so:
location / {
proxy_pass http://mybob:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
Documentation here.
And here for authentication. Just scroll down a few sections.