Reverse Proxy general guide
It’s common to put OliveTin behind a reverse proxy, for authentication, customizing the OliveTin address/path, or for a variety of other reasons.
DNS name vs Path based proxies
DNS Name based virtual hosts (eg: olivetin.example.com ) are easier to setup and configure than path based virtual hosts (eg: www.example.com/utils/OliveTin), because path based virtual hosts need to take care mangle OliveTin paths without breaking things.
-
If using a path based reverse proxies, you may need to set
externalRestAddress
manually to something like;http://example.com/utils/OliveTin
in the OliveTin config.yaml. -
If using DNS Name based reverse proxies, then you should not need to change anything in config.yaml
Which port?
If you look at OliveTin startup logs, you will see OliveTin starting services on several ports. For most users, even under reverse proxy configurations, just proxying port 1337 should be all that is needed. To better understand why OliveTin uses several internal ports by default, see network-ports.
Handling websockets
OliveTin versions after 2023-08 use websockets instead of polling for updates. Taking care to re-pass the Connection: Upgrade
and Upgrade: websocket
headers for the /websocket
path.
General checklist
-
olivetin.example.com/*
is all just HTTP traffic (port 1337)-
olivetin.example.com/
should show the standard webui (port 1337) -
olivetin.example.com/webUiSettings.json
should return a JSON file generated by OliveTin that sets up the web interface. (port 1337) -
olivetin.example.com/api
should how the REST based API. (port 1337)
-
-
olivetin.example.com/websocket
should be a websocket connection upgrade.