Skip to content
EntityQ24008327· pop 9· linked from 57 articles

open source web server

Source code

Features 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 ZeroSSL and Let's Encrypt for public names Fully-managed local CA for internal names & IPs Can coordinate with other Caddy instances in a cluster Multi-issuer fallback Encrypted ClientHello (ECH) support Stays up when other servers go down due to TLS/OCSP/certificate-related issues Production-ready after serving trillions of requests and managing millions of TLS certificates Scales to hundreds of thousands of sites as proven in production HTTP/1.1, HTTP/2, and HTTP/3 all supported by default Highly extensible modular architecture lets Caddy do anything without bloat Runs anywhere with no external dependencies (not even libc) Written in Go, a language with higher memory safety guarantees than other servers Actually fun to use So much more to discover The simplest, cross-platform way to get started is to download Caddy from GitHub Releases and place the executable file in your PATH. Note: These steps will not embed proper version information. For that, please follow the instructions in the next section. When you run Caddy, it may try to bind to low ports unless otherwise specified in your config. If your OS requires elevated privileges for this, you will need to give your new binary permission to do so. On Linux, this can be done easily with: sudo setcap cap net bind service=+ep ./caddy If you prefer to use go run which only creates temporary binaries, you can still do this with the included setcap.sh like so: replacing username with your actual username. Please be careful and only do this if you know what you are doing! We are only qualified to document how to use Caddy, not Go tooling or your computer, and we are providing these instructions for convenience only; please learn how to use your own computer at your own risk and make any needful adjustments. The Caddy website has documentation that includes tutorials, quick-start guides, reference, and more. If you've only got a minute, the website has several quick-start tutorials to choose from! However, after finishing a quick-start tutorial, please read more documentation to understand how the software works. 🙂 Caddy apps instantly benefit from automated documentation, graceful on-line config changes via API, and unification with other Caddy apps. Although JSON is Caddy's native config language, Caddy can accept input from config adapters which can essentially convert any config format of your choice into JSON: Caddyfile, JSON 5, YAML, TOML, NGINX config, and more. The primary way to configure Caddy is through its API, but if you prefer config files, the command-line interface supports those too. Caddy exposes an unprecedented level of control compared to any web server in existence. In Caddy, you are usually setting the actual values of the initialized types in memory that power everything from your HTTP handlers and TLS handshakes to your storage medium. Caddy is also ridiculously extensible, with a powerful plugin system that makes vast improvements over other web servers. To wield the power of this design, you need to know how the config document is structured. Please see our documentation site for details about Caddy's config structure. Nearly all of Caddy's configuration is contained in a single config document, rather than being scattered across CLI flags and env variables and a configuration file as with other web servers. This makes managing your server config more straightforward and reduces hidden variables/factors. The docs are also open source. You can contribute to them here: Getting help We advise companies using Caddy to secure a support contract through Ardan Labs before help is needed. A sponsorship goes a long way! We can offer private help to sponsors. If Caddy is benefitting your company, please consider a sponsorship. This not only helps f

Excerpt from the source-code README · 12,656 chars · not written by Vinony

Wikidata facts

Official website
caddyserver.com
Show 5 more facts
software version identifier
2.11.2
user manual URL
caddyserver.com/docs
official forum URL
caddy.community
Commons category
Caddy (web server)
source code repository URL
github.com/caddyserver/caddy
Sources (7)

via Wikidata · CC0

Available in 8 languages

via Wikidata sitelinks · CC0

Connections

Categories