@sun @glitter @tk @dushman @3 If you want to do simple things Caddy is great. If you want to do complicated things you're going to be annoyed that the docs suck and nobody has an example of what you're trying to accomplish even though it's probably possible.
It's also plagued by bad defaults. Oh, you want to reverse proxy? What happens when the backend is down? Caddy doesn't serve an error, it serves a blank page with a 200. You literally have to modify every vhost you configure to have a custom handle_errors statement:
handle_errors { respond "{err.status_code} {err.status_text}" }THIS IS INSANE
Otherwise Caddy is pretty alright. Just don't enable Prometheus Metrics because it causes serious performance issues! (bug #4644 open 2+ years now with no progress)
If you want to do something complicated, just use Nginx. And C is faster than Go anyway.
If you want to do something simple, use Caddy.
If you want to just add TLS and reverse proxy an app, why are you using a whole webserver when you can just use a TLS proxy like Haproxy, Stunnel, Pound, etc?