Caddy is essentially a configuration management system that can run various apps like an HTTP server, TLS certificate manager, PKI facilities, and more. It can be extended with plugins known as config modules. At the end of the page, we list capabilities that are provided by known, popular plugins.
</p>
<p>
Caddy sports a powerful and flexible HTTP reverse proxy, on-line configuration API, and a robust, production-ready static file server, and serves all sites over HTTPS by default with automagic TLS certificates.
The language choice is crucial for a web server. Most servers (NGINX, Apache, HAProxy, etc.) and their dependencies are written in C, which are vulnerable to catastrophic memory safety bugs like Heartbleed. Go programs like Caddy are impervious to a whole class of security vulnerabilities.
Caddy is statically compiled. Dynamically-linked applications can easily break in production and may be less secure as shared executable resources are loaded from various places around the system. Generally, Caddy binaries do not necessarily require external libraries — not even libc.
</div>
<divclass="detail">
None
</div>
</div>
<divclass="feature-row">
<h4>Compile time</h4>
<divclass="benefits">
On consumer hardware, standard Caddy builds compile in just a few seconds. This is crucial for rapid iteration, plugin development, and low-cost deployments.
</div>
<divclass="detail">
5 seconds
</div>
</div>
<divclass="feature-row">
<h4>Deployment environments</h4>
<divclass="benefits">
Caddy can go practically anywhere and be deployed a variety of ways.