Can Caddy work as a reverse proxy to other backend services? And if so, can I use QUIC for the backend and plain TCP for the front-end? Would that give me any benefit?
Yes. Use this in your Caddyfile:
proxy /api 10.20.30.40:8080
- And if so, can I use QUIC for the backendNo, QUIC is not supported at the moment: https://caddyserver.com/blog/implementing-http2-isnt-trivial
- and plain TCP for the front-end?
Yes, if you mean HTTP/1.x. Also, you can serve static files from the proxy itself. Everything not mentioned in explicit "proxy" directive would be served from local files in the same directory as Caddifile.
Caddy only has a QUIC server implementation. But I'm inclined to think that if you have a QUIC->TCP flow going on, you will lose most of the benefits of QUIC at the TCP part.