| Product | Caddy |
| Website | caddyserver.com |
| Category | Web Server / Reverse Proxy |
| License | Apache 2.0 |
| Built With | Go |
What Is Caddy?
Caddy is a web server that obtains and renews TLS certificates automatically. Point it at a domain name and Caddy handles ACME challenges, certificate issuance, renewal, and OCSP stapling — no certbot, no cron jobs, no manual intervention. HTTPS is not a feature you configure; it’s the default.
Beyond automatic HTTPS, Caddy offers a simple Caddyfile configuration format, a JSON API for dynamic configuration changes, and a modular architecture with community plugins. It’s a single static binary written in Go, easy to deploy and upgrade.
Key Features
Automatic HTTPS
Specify a domain name in your Caddyfile and Caddy handles everything: ACME challenge, Let’s Encrypt or ZeroSSL certificate, renewal 30 days before expiry, OCSP stapling. No configuration needed. This is Caddy’s defining feature and the primary reason teams switch from Nginx.
Caddyfile
Caddy’s configuration format is readable and minimal. A reverse proxy for example.com to localhost:3000 is two lines. Compare this to Nginx’s equivalent, which requires a server block, location block, proxy_pass, and header directives.
JSON API
Caddy’s full configuration is a JSON document. You can read, modify, and apply configuration changes via the API without reloading. This enables dynamic routing, programmatic certificate management, and integration with orchestration tools.
Single Binary
Caddy is a single static binary. Download it, run it, and you have a production web server. No dependencies, no package managers, no shared libraries. Upgrade by replacing the binary.
Who Is This For?
- Anyone who wants HTTPS without certbot
- Small to medium deployments that value simplicity
- Teams that want a simple reverse proxy for their app servers
- Homelab and self-hosting setups
Pros
- Automatic HTTPS (the killer feature)
- Simple, readable Caddyfile config
- JSON API for dynamic configuration
- Single binary deployment
- HTTP/3 support out of the box
- Apache 2.0 license
Cons
- Smaller community than Nginx
- Fewer community modules
- Higher memory usage than Nginx
- Less battle-tested at massive scale
- Learning curve for JSON config (vs Caddyfile)
Verdict
Caddy’s automatic HTTPS is a genuine innovation. Certificate management is the single biggest source of HTTPS-related outages, and Caddy eliminates it. For teams that manage their own TLS infrastructure and are tired of certbot cron jobs and renewal failures, Caddy is the fix.
The Caddyfile format makes simple configurations simple. A reverse proxy, a file server, a redirect — these are one or two lines, not a page of Nginx config. For complex configurations with many backends, conditional routing, and custom headers, Nginx’s expressiveness may be more appropriate.
Build a web server or infrastructure tool?
Get reviewed and linked from our 27-site network.
See Packages