I recently set up a reverse proxy for a Discourse installation. I found that over their side of the fence, the accepted method seems to be to use an unix socket using
templates/web.socketed.template.yml, under templates in their app.yml file. They have an example for nginx using this method.
I noted while poking around that caddy did implement proxying to unix sockets, so I followed that route instead of the caddyserver Discourse example here, which describes a http proxy to port 8080.
I was wondering if it might be useful to append the socket method as an optional alternative to the existing example, or if anyone had any input as to upsides/downsides of doing it this way instead.