Caddy
Hacker ApprovedRanked 2 of 8 web servers by recommenders
A web server and reverse proxy people pick for fully automatic HTTPS certificates and a very short config file, though some find it slower than Nginx under heavy load.
A web server and reverse proxy people pick for fully automatic HTTPS certificates and a very short config file, though some find it slower than Nginx under heavy load.
124 people gave an opinion
- recommend it
- 114
- criticize it
- 10
- approval share
- 92%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Why it carries the badge
- 114 people recommend itNeeds 10 or more, met.
- 11 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Automatic HTTPS certificate management
“Caddy checks a Rails endpoint before issuing any certificate, so random domains pointed at your IP won't trigger cert issuance.”
Comment from 31 Mar 2026 in “Building Multi-Tenant SaaS with Rails 8, Caddy, and Kamal” “Caddy runs on top of Go's excellent acme library that handles all of the cert acquisition and renewal process automatically.”
Comment from 8 Apr 2026 in “We moved Railway's front end off Next.js. Builds went from 10 minutes to under 2” “simply add a tag/label to your docker compose files for each of self hosted services to get a real SSL, that auto renewed”
Comment from 10 Jul 2026 in “TLS certificates for internal services done right” - Comment from 23 Jan 2026 in “Stunnel”
- Comment from 5 May 2026 in “Should I Run Plain Docker Compose in Production in 2026?”
- Comment from 16 Dec 2025 in “Upcoming Changes to Let's Encrypt Certificates”
- Comment from 9 Dec 2025 in “10 Years of Let's Encrypt”
- Comment from 16 Feb 2026 in “Running My Own XMPP Server”
- Comment from 18 Feb 2026 in “Google Public CA is down”
- Comment from 10 Dec 2025 in “10 Years of Let's Encrypt”
- Comment from 7 Aug 2026 in “The web server deployment model breaks at hobby scale”
- Comment from 12 Apr 2026 in “I run multiple $10K MRR companies on a $20/month tech stack”
- Comment from 12 Jan 2026 in “2026 is the Year of Self-hosting”
- Comment from 3 Sep 2026 in “Ask HN: Advice on Migrating from 1Password?”
- Comment from 5 Oct 2026 in “"I'm Embarrassed on Behalf of the Tech Industry"”
Short, simple configuration
“For common web server scenarios, a Caddyfile is very short, much shorter than a typical Apache or nginx configuration.”
Comment from 10 Nov 2025 in “LLMs are steroids for your Dunning-Kruger” “Adding Caddy as a proxy server is literally one line in Caddyfile, and I trust Caddy to do it right”
Comment from 28 Jan 2026 in “LM Studio 0.4.0” “Here's the entirety of the Caddy config to reverse proxy something with managed tls certs.”
Comment from 7 Aug 2026 in “The web server deployment model breaks at hobby scale” - Comment from 2 Apr 2026 in “Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries”
- Comment from 12 Apr 2026 in “I run multiple $10K MRR companies on a $20/month tech stack”
- Comment from 12 Jan 2026 in “2026 is the Year of Self-hosting”
- Comment from 27 Jan 2026 in “Cloudflare claimed they implemented Matrix on Cloudflare workers. They didn't”
Easy reverse proxy for self-hosting
“you can also use a reverse proxy like caddy or nginx where encryption and security are primary concerns”
Comment from 8 Sep 2026 in “Jellyfin 12.0” “TLS only takes a few minutes to add to a self hosted solution, just plop caddy in front of your server”
Comment from 9 Dec 2025 in “10 Years of Let's Encrypt” “Adding Caddy as a proxy server is literally one line in Caddyfile, and I trust Caddy to do it right”
Comment from 28 Jan 2026 in “LM Studio 0.4.0” - Comment from 7 Jan 2026 in “Firefox extension to redirect x.com to xcancel.com”
- Comment from 5 May 2026 in “Should I Run Plain Docker Compose in Production in 2026?”
- Comment from 5 Oct 2026 in “"I'm Embarrassed on Behalf of the Tech Industry"”
- Comment from 18 Sep 2026 in “Ask HN: What self-hosted apps do you use daily?”
Reliable and battle-tested
“I can rely on gifts to the world like Linux, Debian, PostgreSQL, Apache, Nginx, Caddy, and Yggdrasil without any problems for decades.”
Comment from 9 Oct 2026 in “Ask HN: What do you run on a $5 VPS that's worth keeping online 24/7?” “My web apps aren't allowed to think about TLS, they sit behind Caddy and I'm secure as long as I keep it updated”
Comment from 23 Jan 2026 in “Stunnel” “if you're looking for something that "just works" and is widely used, have a look at caddy”
Comment from 2 Apr 2026 in “Show HN: I built a DNS resolver from scratch in Rust – no DNS libraries” - Comment from 19 Sep 2026 in “I built the fastest PHP webserver in the world”
What people warn about
Each mark is one comment
Slower than Nginx
“Caddy, their developers and community refuse to believe Caddy is slow is a much bigger issue.”
Comment from 15 Jun 2026 in “Caddy compatibility for zeroserve: 3x throughput and 70% lower latency” “Caddy on that machine bottlenecks at 300MB/s despite using 100% of the CPU”
Comment from 15 Jun 2026 in “Caddy compatibility for zeroserve: 3x throughput and 70% lower latency” “Another benchmarks showing Caddy not performing on par with Nginx”
Comment from 7 Jun 2026 in “Zeroserve: A zero-config web server you can script with eBPF” Security and vulnerability concerns
“Caddy's admin interface is system-wide opened, any local user can inject configuration and take over everything.”
Comment from 10 Jul 2026 in “Ditching Vagrant: VMs with KVM and Virsh on Debian” “it's written in go so probably listening on an mtcp socket meaning you are probably vulnerable”
Comment from 1 Nov 2026 in “TCP Use-After-Free: CVE-2026-98432 / CVSS 9.8” “Caddy had multiple vulnerabilities in its request parsing this year”
Comment from 14 May 2026 in “New Nginx Exploit” Certificate edge cases and quirks
“if you are routing over tailscale exclusively Caddy can't automatically validate the domain names over ACME”
Comment from 8 Sep 2026 in “Jellyfin 12.0” “It works, but as another comment mentioned there may be quirks with IP certs, specifically IPv6”
Comment from 16 Jan 2026 in “6-Day and IP Address Certificates Are Generally Available” “there’s no indication from Caddy that you would only be able to renew the cert twice”
Comment from 2 Dec 2025 in “Decreasing Certificate Lifetimes to 45 Days” - Comment from 25 Mar 2026 in “You Can Run a DNS Server”
Sponsor header controversy
“putting ads in your servers via a `Caddy-Sponsors` header”
Comment from 4 Dec 2025 in “Anthropic acquires Bun” “I am unstarring Caddy. That's absolutely wild.”
Comment from 5 Dec 2025 in “Anthropic acquires Bun”
Other web servers people recommend
The four most recommended other web servers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
| Product | Recommend | Criticize | Approval | Months | Owned | Badge |
|---|---|---|---|---|---|---|
| nginx | 130 | 44 | 75% | 12 | 15 yrs5 owners | Approved |
| CaddyThis page | 114 | 10 | 92% | 12 | — | Approved |
| Apache HTTP Server | 52 | 32 | 62% | 12 | 10 yrs5 owners | — |
| Zeroserve | 17 | 8 | 68% | 1 | — | — |
| FrankenPHP | 15 | 1 | 94% | 8 | — | Approved |
What people said
40 of the 152 comments that mention it, newest first. Each links to the original comment.
“it's written in go so probably listening on an mtcp socket meaning you are probably vulnerable”
“My main HTTP server, Caddy, has gained WebDAV support since I published this configuration, but I haven't used it in anger.”
“I can rely on gifts to the world like Linux, Debian, PostgreSQL, Apache, Nginx, Caddy, and Yggdrasil without any problems for decades.”
“The Caddy container handling certificates and reverse proxies for everything.”
“Nginx, Caddy, Apache, etc have found and fixed a million edge cases you'd never think of”
“I expose my services with a Caddy reverse proxy on a VPS”
“if you are routing over tailscale exclusively Caddy can't automatically validate the domain names over ACME”
“you can also use a reverse proxy like caddy or nginx where encryption and security are primary concerns”
“Mine uses caddy for the Web front, which automates letsencrypt certification.”
“Here's the entirety of the Caddy config to reverse proxy something with managed tls certs.”
“Caddy's admin interface is system-wide opened, any local user can inject configuration and take over everything.”
“simply add a tag/label to your docker compose files for each of self hosted services to get a real SSL, that auto renewed”
“Caddy, their developers and community refuse to believe Caddy is slow is a much bigger issue.”
“Caddy on that machine bottlenecks at 300MB/s despite using 100% of the CPU”
“Another benchmarks showing Caddy not performing on par with Nginx”
“Caddy had multiple vulnerabilities in its request parsing this year”
“Caddy will even do fully automated valid TLS certificates for private IP ranges via DNS ACME challenge for free”
“I reverse proxy everything through a Caddy instance running on the same machine”
“Automatic HTTPS, dead-simple config, and it proxies to your Go binary in about 4 lines.”
“Caddy runs on top of Go's excellent acme library that handles all of the cert acquisition and renewal process automatically.”
“if you're looking for something that "just works" and is widely used, have a look at caddy”
“Caddy checks a Rails endpoint before issuing any certificate, so random domains pointed at your IP won't trigger cert issuance.”
“Caddy trying to get certs by default is annoying”
“I fully understand and appreciate the gifts that things like Docker and systemd and even Caddy have brought to the table”
“Caddy lets you specify any number of ACME providers to try in sequence if the previous ones fail.”
“use its on_demand TLS to handle certificates for the upload and conference subdomains automatically”
“Adding Caddy as a proxy server is literally one line in Caddyfile, and I trust Caddy to do it right”
“Both require minimal configuration, and provide packages for many Linux distributions”
“My web apps aren't allowed to think about TLS, they sit behind Caddy and I'm secure as long as I keep it updated”
“It works, but as another comment mentioned there may be quirks with IP certs, specifically IPv6”
“You add a new app/site in caddy's config and everything else is completely automatic.”
“this works on my mobile devices as well with a dns record to point to this caddy instance”
“automation like Caddy server that does this for us while also being our ingress proxy for all those domains”
“I would probably use a centralized authorization service "authentication gateway" with something like forward_auth in Caddy”
“Thank you Let's Encrypt, together with the acme.sh, caddy and the whole ecosystem for TLS.”
“TLS only takes a few minutes to add to a self hosted solution, just plop caddy in front of your server”
“I am unstarring Caddy. That's absolutely wild.”
“putting ads in your servers via a `Caddy-Sponsors` header”
“there’s no indication from Caddy that you would only be able to renew the cert twice”
“For common web server scenarios, a Caddyfile is very short, much shorter than a typical Apache or nginx configuration.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.