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.