Caddy reverse proxy to Tomcat (for Jamf Software Server)

Attempting to use Caddy as a reverse proxy to Tomcat. The vendor, Jamf, does not officially support a reverse proxy in front of their Jamf Software Server, but I’d really prefer it to letting Tomcat handle SSL connections.

Anyway, here is my Caddy file. Very basic for now just to troubleshoot.

http:// {
        root /var/www
        proxy / localhost:8080
}

So far, the reverse proxy works. I open the website on port 80 and I’m greeted with the Jamf Software Server login page running on Tomcat on the backend.

Here’s the problem. When I log into the system, there is a graphical real-time Memory Usage pie chart. Opening this pie chart while over port 8080 works fine. However, opening it over port 80 fails. It just doesn’t display anything. Here is the error from the Chrome browser’s console:

TypeError: result is null

I tried adding the transparent subdirective to the proxy directive, but that didn’t seem to do anything. If more information is needed, please let me know. Still tinkering with the settings myself.

If the real-time chart is using websockets, you’ll probably need to proxy websocket connections separately. Check the network tab of your browser to see what path it’s using and set up a proxy to that path with the websocket preset.

Hi Matt,

I don’t believe the chart is using websockets. Here’s why:

  • Opened the network tab in Firefox.
  • Refreshed the page with the chart.
  • Lots of data appeared. Filtered by websockets (the WS filter) and the network tab had no results.

That should mean websockets is most likely not being used, correct? I can post some or all of the data in the network tab if necessary. Just wasn’t sure if it’s personally identifying.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.