Follow us
Breaking
Web Hosting

The shift from Nginx to Caddy in reverse proxy ecosystems

As the March 2026 end-of-life for ingress-nginx on EKS approaches, teams are migrating to Caddy for its automatic HTTPS management. While Nginx remains faster for heavy streaming, Caddy's 74.4k GitHub stars reflect growing developer preference.

Share

The March 2026 end-of-life for ingress-nginx on EKS forced many logistics teams to reconsider their edge infrastructure. This migration window reveals a growing preference for Caddy, a Go-based server developed by Matt Holt. Caddy’s 74.4k GitHub stars outpace Traefik’s 64.1k and Nginx’s 31.2k, showing a clear shift in interest. In April 2026, Caddy 2.8 hit 142,000 requests per second for 1KB static files, which was 22% faster than Nginx 1.26 on 16-core ARM hardware. Nginx is still evolving, as the project released version 1.31.5 in September 2026 with a new control API and predicate locations. I would argue that the developer experience in Caddy outweighs the raw throughput of Nginx in many modern workflows.

Automation vs Manual Control

Teams choosing between Caddy, Traefik, and Nginx prioritize different operational workflows. Traefik v3.3, codenamed "saint-nectaire," improves observability via OpenTelemetry and reorganized documentation for beginners and advanced operators. Traefik uses labels to build routing tables automatically from Docker or Kubernetes metadata. Platform engineers can now define default behaviors at the entrypoint level and enable or disable tracing on a per-router basis. Caddy sits between Nginx’s manual configuration and Traefik’s automation. You should look at the GitHub star counts if you doubt the momentum. While Nginx manages traffic through a mature, statically configured setup that many Linux hosting teams use, Caddy provides a simpler path by requesting and renewing valid SSL certificates through Let’s Encrypt with no extra steps required.

Tool Primary Configuration HTTPS Management
Caddy Caddyfile or JSON API Automatic via Let’s Encrypt
Traefik Labels and Providers ACME certificate resolvers
Nginx Static configuration files Manual via Certbot

Performance Realities

The Slash GraphQL team found Nginx problematic for their ingress during production. They could not determine if Nginx successfully picked up a new ingress. This forced them to add extra time.Sleep() code into their production environment. They eventually found that Caddy was much easier to work with for their needs. Caddy’s HTTP middleware module stays close to Go’s ServeHTTP interface. Container users often find Caddy’s lack of native service discovery a hurdle. The caddy-docker-proxy plugin by lucaslorentz solves this by scanning Docker metadata to generate Caddyfiles automatically. This plugin allows for zero-downtime reloads when Docker objects change.

In a March 2026 comparison, Nginx 1.30.4 sustained 55,477 requests per second for 1KB HTTP requests, while Caddy 2.11.4 only hit 18,169. This difference highlights why Nginx remains the choice for heavy streaming. Nginx uses a sendfile zero-copy path that makes it 17% faster for files larger than 1 MB. For 1 GB+ streaming workloads, Nginx uses 38% less memory because it does not buffer the response body in user space. P99 latency at 80% saturation was 4.2 ms for Caddy versus 3.9 ms for Nginx. Caddy uses goroutines to handle concurrency, which uses more RAM than Nginx. Caddy 2.11.2 uses 25 to 35 MB of RAM at idle, which is ten times more than Nginx’s 2 to 3 MB. Cloudflare also released Pingora, a Rust-based framework for building HTTP proxies. For a major customer, using Pingora improved the rate at which connections could be used again from 87.1% to 99.92%. This resulted in the need for 160 times fewer new connections. Cloudflare’s Pingora processed almost one quadrillion Internet requests through its network. Pingora handles HTTP/2 and gRPC traffic and cuts the wait time for websites to start loading by 5 milliseconds on average. Pingora handles traffic with high efficiency even though it is a collection of packages rather than a ready-to-use binary like Nginx or Caddy. Will the growing popularity of Rust-based Pingora eventually erode Caddy’s lead in the developer market?

Share

Technewsdaily

Senior tech writer covering AI, gadgets and cybersecurity. Breaking down the news that matters, every day.