Setting up Nginx with Let's Encrypt means: install Nginx, install Certbot, configure renewal cron, edit nginx.conf, handle redirect loops, debug certificate errors. For HTTPS. In 2026.
What if your web server automatically obtained and renewed TLS certificates — with zero configuration?
That's Caddy. Automatic HTTPS by default.
The Simplest Caddyfile
example.com {
root * /var/www/html
file_server
}
That's it. Caddy automatically:
- Obtains a TLS certificate from Let's Encrypt
- Redirects HTTP → HTTPS
- Renews the certificate before expiry
- Serves your files with HTTP/2 and HTTP/3
Reverse Proxy
api.example.com {
reverse_proxy localhost:3000
}
app.example.com {
reverse_proxy localhost:5173
}
example.com {
handle /api/* {
reverse_proxy localhost:3000
}
handle {
reverse_proxy localhost:5173
}
}
Load Balancing
api.example.com {
reverse_proxy localhost:3001 localhost:3002 localhost:3003 {
lb_policy round_robin
health_uri /health
health_interval 10s
}
}
Caddy vs Nginx vs Traefik
| Feature | Caddy | Nginx | Traefik |
|---|---|---|---|
| Auto HTTPS | Built-in | Certbot needed | Built-in |
| Config format | Caddyfile (simple) | nginx.conf (complex) | YAML/TOML |
| HTTP/3 | Built-in | Module | Built-in |
| Hot reload | Yes | nginx -s reload |
Yes |
| Written in | Go | C | Go |
| Memory usage | ~30MB | ~5MB | ~50MB |
Choose Caddy for simplicity. Choose Nginx for raw performance. Choose Traefik for Docker/K8s service discovery.
Start here: caddyserver.com
Need custom data extraction, scraping, or automation? I build tools that collect and process data at scale — 78 actors on Apify Store and 265+ open-source repos. Email me: Spinov001@gmail.com | My Apify Actors
Top comments (0)