Caddy is a powerful, extensible web server to serve your sites, services, and apps. It offers automatic HTTPS.
The web server is notable for its automatic TLS certificate obtainment and renewal, and significantly smaller configuration files than Apache or Nginx.
Caddy is free and open source software.
- Easy configuration with the Caddyfile.
- Powerful configuration with its native JSON config.
- Dynamic configuration with the JSON API.
- Config adapters if you don’t like JSON.
- Automatic HTTPS by default:
- Let’s Encrypt for public sites.
- Fully-managed local CA for internal names & IPs.
- Can coordinate with other Caddy instances in a cluster.
- Stays up when other servers go down due to TLS/OCSP/certificate-related issues.
- HTTP/1.1, HTTP/2, and experimental HTTP/3 support.
- Markdown rendering.
- CGI via WebSockets.
- Gzip compression.
- Basic access authentication.
- URL rewriting.
- File browsing.
- Access, error, and process logs.
- Experimental QUIC support. QUIC is a general-purpose transport layer network protocol.
- Highly extensible modular architecture lets Caddy do anything without bloat. There’s a powerful plugin system.
- Runs anywhere with no external dependencies (not even libc).
- Caddy’s native config language is JSON.
- Besides functioning as a web server, Caddy also acts as a:
- reverse proxy.
- sidecar proxy.
- load balancer.
- API gateway.
- ingress controller.
- system manager.
- process supervisor.
- task scheduler.
- (any long-running Go program).
- Cross-platform support – statically-compiled binaries for Linux, Android, BSD, Mac, and Windows on i386, amd64, and ARM architectures.
|Want to find more awesome open source software? Check out our award winning open source software directory featuring more than 20,000 open source apps.|