Caddy: The Web Server That Sets Up HTTPS For You
One open-source tool a week. What it does, what it replaces, and something you can build with it — in under three minutes.
What it is
Caddy is an HTTP/1-2-3 web server and reverse proxy, written in Go, that provisions and renews TLS certificates for your sites automatically the moment it starts — no separate cert tooling, no manual renewal cron job.
What it replaces
The nginx-plus-Certbot combo most teams reach for by default: an nginx config file for routing, a separate Certbot install for Let’s Encrypt certificates, and a cron job (or systemd timer) to renew them before they expire and take your site down. Caddy folds all three into one binary and one config file, and it has done automatic HTTPS since 2015 — before most alternatives had it at all, per Caddy’s own docs.
What you can build
A working HTTPS reverse proxy in one line, no config file needed:
caddy reverse-proxy --from yourdomain.com --to 127.0.0.1:9000
Point yourdomain.com’s DNS at your server first, and Caddy will request a real, publicly-trusted certificate from Let’s Encrypt or ZeroSSL and keep it renewed for as long as it runs. For anything beyond a quick proxy, drop this in a file named Caddyfile in your working directory:
yourdomain.com
reverse_proxy 127.0.0.1:9000
Then run caddy run. That’s a production reverse proxy with automatic HTTPS, redirect-to-HTTPS, and cert renewal, in four lines — verified against Caddy’s official reverse-proxy quick-start docs.
Where to get it
- Repo: github.com/caddyserver/caddy (75.2k stars at time of writing)
- Docs: caddyserver.com/docs
- Licence: Apache 2.0 — checked directly against the
LICENSEfile in the repo root. Fully open source, no usage restrictions. - Maturity: production-ready. Caddy has been running in production deployments since 2015 and is packaged for every major platform; it isn’t a weekend toy.
One caveat worth naming plainly: Caddy’s star count and “first to do automatic HTTPS” claim are the project’s own, and this entry did not independently benchmark Caddy against nginx or Traefik for throughput or latency — treat any performance comparison you see elsewhere as unverified until you test it on your own workload.
Get next week’s tool by email. One tool, every week. Three minutes. No news roundups, no digest. — sign-up coming shortly