Caddy
Servers & Server SoftwareCaddy is an open-source web server and reverse proxy known for automatic HTTPS, simple configuration, and modern defaults. It can serve static sites, proxy requests to application servers, and manage TLS certificates without manual setup. Caddy is often used as an edge server in front of apps, offering features like HTTP/2 and HTTP/3, logging, compression, and flexible routing via its Caddyfile or JSON API.
How It Works
Caddy runs as a web server that listens for incoming HTTP/HTTPS traffic and responds directly (for static files) or forwards requests to upstream services (as a reverse proxy). Its configuration is commonly written in a Caddyfile, which uses a readable directive-based syntax for defining sites, routes, headers, caching rules, and proxy targets. For advanced automation, Caddy can also be managed through a JSON configuration and an API, making it suitable for dynamic environments and containerized deployments.
A defining feature is automatic TLS: when you configure a site name, Caddy can obtain and renew certificates automatically and enable HTTPS by default. It also supports modern protocols and security settings out of the box, and it can be extended with plugins for additional functionality. In practice, Caddy is frequently placed at the network edge to terminate TLS, apply request/response policies, and route traffic to app servers such as Node.js, PHP-FPM, or services running in Docker.
Why It Matters for Web Hosting
When comparing hosting plans, Caddy affects setup time, security posture, and operational complexity. Plans that allow custom server software or reverse-proxy configuration can benefit from Caddy's automatic HTTPS and straightforward routing, reducing manual certificate management. It is especially relevant if you need to front multiple apps, enforce redirects and headers, or run modern web protocols; however, you should confirm whether the host permits custom daemons, required ports, and persistent configuration.
Common Use Cases
- Automatic HTTPS for small sites and personal projects without manual certificate handling
- Reverse proxy in front of application servers (Node.js, Go, Python, PHP-FPM)
- TLS termination and routing for multiple domains on one VPS or dedicated server
- Serving static websites with compression, caching headers, and clean redirects
- Edge gateway for Docker or microservices environments using dynamic configuration
- HTTP/3-enabled front end for latency-sensitive applications where supported
Caddy vs Nginx
Caddy emphasizes secure defaults and automatic certificate management, often making initial HTTPS setup simpler than Nginx. Nginx is widely deployed, highly tunable, and commonly available on shared and managed hosting, with extensive documentation and ecosystem tooling. For buyers, the choice often comes down to control: if your plan supports running Caddy, it can reduce TLS and routing friction; if you need maximum compatibility with hosting panels and prebuilt stacks, Nginx is more commonly supported.