Tools: Caddy Has a Free API That Gives You Automatic HTTPS With Zero Configuration (2026)

Tools: Caddy Has a Free API That Gives You Automatic HTTPS With Zero Configuration (2026)

Quick Start

Caddyfile (Config)

Reverse Proxy with Load Balancing

Caddy vs Nginx vs Traefik

The Bottom Line Caddy is a web server that gets HTTPS certificates automatically. No certbot, no cron jobs, no certificate renewal scripts. Just point it at your domain. That's it. Caddy obtains a Let's Encrypt certificate, configures HTTPS, and proxies traffic. Caddy eliminates 90% of web server configuration. Automatic HTTPS, simple Caddyfile syntax, hot reload. If you're still writing Nginx configs and certbot cron jobs, switch to Caddy. Need to automate data collection or build custom scrapers? Check out my Apify actors for ready-made tools, or email [email protected] for custom solutions. Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Command

Copy

# Install -weight: 600;">sudo -weight: 500;">apt -weight: 500;">install -y caddy # Serve a site with automatic HTTPS caddy reverse-proxy --from example.com --to localhost:3000 # Install -weight: 600;">sudo -weight: 500;">apt -weight: 500;">install -y caddy # Serve a site with automatic HTTPS caddy reverse-proxy --from example.com --to localhost:3000 # Install -weight: 600;">sudo -weight: 500;">apt -weight: 500;">install -y caddy # Serve a site with automatic HTTPS caddy reverse-proxy --from example.com --to localhost:3000 example.com { reverse_proxy localhost:3000 } api.example.com { reverse_proxy localhost:8080 } static.example.com { root * /var/www/static file_server } example.com { reverse_proxy localhost:3000 } api.example.com { reverse_proxy localhost:8080 } static.example.com { root * /var/www/static file_server } example.com { reverse_proxy localhost:3000 } api.example.com { reverse_proxy localhost:8080 } static.example.com { root * /var/www/static file_server } example.com { reverse_proxy localhost:3001 localhost:3002 localhost:3003 { lb_policy round_robin health_uri /health health_interval 10s } } example.com { reverse_proxy localhost:3001 localhost:3002 localhost:3003 { lb_policy round_robin health_uri /health health_interval 10s } } example.com { reverse_proxy localhost:3001 localhost:3002 localhost:3003 { lb_policy round_robin health_uri /health health_interval 10s } } # Caddy has a REST API for dynamic config -weight: 500;">curl http://localhost:2019/config/ -weight: 500;">curl -X POST http://localhost:2019/load -H "Content-Type: application/json" -d @config.json # Caddy has a REST API for dynamic config -weight: 500;">curl http://localhost:2019/config/ -weight: 500;">curl -X POST http://localhost:2019/load -H "Content-Type: application/json" -d @config.json # Caddy has a REST API for dynamic config -weight: 500;">curl http://localhost:2019/config/ -weight: 500;">curl -X POST http://localhost:2019/load -H "Content-Type: application/json" -d @config.json