nginx
Hacker ApprovedThe most recommended of 8 web servers
A proven, fast web server and reverse proxy with a huge knowledge base, trusted for decades of production traffic; critics cite manual configuration, sparse docs and surprising defaults.
A proven, fast web server and reverse proxy with a huge knowledge base, trusted for decades of production traffic; critics cite manual configuration, sparse docs and surprising defaults.
174 people gave an opinion
- recommend it
- 130
- criticize it
- 44
- approval share
- 75%
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)
Owned for 15 years
Median of the 5 owners who said how long they have had it.
Each square is one year.
Why it carries the badge
- 130 people recommend itNeeds 10 or more, met.
- 3 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
Reliable reverse proxy
“Set proxy_pass_request_headers off, and then explicitly proxy_set_header each individual header you want to forward”
Comment from 29 Apr 2026 in “FastCGI: 30 Years Old and Still the Better Protocol for Reverse Proxies” “If you're using nginx/apache/literally anything that does reverse proxying correctly, this shouldn't be a problem”
Comment from 27 May 2026 in “BadHost – CVE-2026-48710 Starlette Host-Header Auth Bypass” “Combine with a $5 VPS and nginix reverse proxy to make this true for any device, even ones without tailscale!”
Comment from 14 Apr 2026 in “WiiFin – Jellyfin Client for Nintendo Wii” - Comment from 8 Sep 2026 in “Jellyfin 12.0”
- Comment from 5 Feb 2026 in “When internal hostnames are leaked to the clown”
- Comment from 26 Oct 2026 in “Native Prometheus Integration with Nginx”
- Comment from 17 Dec 2025 in “Show HN: Titan – JavaScript-first framework that compiles into a Rust server”
High performance and scalability
“NGINX uses async io to handle requests, which is a substantial upgrade from Apache; that's why it's performant.”
Comment from 15 May 2026 in “New Nginx Exploit” “nginx walked into the chat and killed the 10k problem along with having its easy but fancy upstreaming”
Comment from 30 Apr 2026 in “FastCGI: 30 Years Old and Still the Better Protocol for Reverse Proxies” “i would expect this to comfortably be served by a couple of reasonable old school ngnix servers”
Comment from 15 Dec 2025 in “We architected an edge caching layer to eliminate cold starts” - Comment from 26 Dec 2025 in “We "solved" C10K years ago yet we keep reinventing it”
- Comment from 7 Aug 2026 in “The web server deployment model breaks at hobby scale”
Battle-tested over decades
“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?” “Up until the last couple of years from early-ish 2012, I used nginx for production traffic in a lot of places.”
Comment from 27 Oct 2026 in “Native Prometheus Integration with Nginx” “there is also a reason why large organizations like Cloudflare ran nginx on their edge over any other product”
Comment from 30 Mar 2026 in “Nginx – Open-Sourced Session Persistence, Multipath TCP and More” - Comment from 19 Sep 2026 in “I built the fastest PHP webserver in the world”
- Comment from 6 Jun 2026 in “Zeroserve: A zero-config web server you can script with eBPF”
- Comment from 14 May 2026 in “New Nginx Exploit”
Easy static file serving
“Just install nginx from your repos on your desktop, throw in some .html files to a directory and play.”
Comment from 3 Nov 2025 in “Using FreeBSD to make self-hosting fun again” “a performant web server like nginx for example that is pre configured to serve static files”
Comment from 7 Aug 2026 in “The web server deployment model breaks at hobby scale” “make sure all static assets are served by nginx, add appropriate Cache Control headers”
Comment from 26 Jul 2026 in “Some more things about Django I've been enjoying” - Comment from 17 Nov 2025 in “Google is killing the open web, part 2”
What people warn about
Each mark is one comment
Too much manual configuration
“nginx and the more standard webservers/services oftentimes don't have good support and require quite frankly too much manual configuration”
Comment from 19 Oct 2026 in “Let's Encrypt is adding two additional remote perspectives for domain validation” “I just wish nginx / caddy / etc had better out-of-the-box support for letsencrypt”
Comment from 7 Aug 2026 in “The web server deployment model breaks at hobby scale” “the official documentation is almost useless, there seem to be many hidden surprises”
Comment from 13 May 2026 in “Nginx.org/En/Changes” Surprising defaults like slash normalization
“Its defaults assume that it's fine to do a "normalization" pass to remove double slash”
Comment from 18 Apr 2026 in “It is incorrect to "normalize" // in HTTP URL paths” “I couldn't get the web server to not convert it to a / before hitting my code.”
Comment from 14 Aug 2026 in “Choose Boring Technology (2015)” “the official documentation is almost useless, there seem to be many hidden surprises”
Comment from 13 May 2026 in “Nginx.org/En/Changes” Buffering and connection issues
“between nginx buffering and cloudflare I have not been able to sort out getting it to actually work these days”
Comment from 8 Nov 2025 in “How did I get here?” “We didn't use nginx because it would drop requests and mess up connections during certain config reloads”
Comment from 15 Nov 2025 in “Kubernetes Ingress Nginx is retiring” “I've had issues with nginx still getting IO errors when my server doesn't consume bodies”
Comment from 14 Oct 2026 in “Better HTTP/1 connection reuse in Go 1.27”
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 |
|---|---|---|---|---|---|---|
| nginxThis page | 130 | 44 | 75% | 12 | 15 yrs5 owners | Approved |
| Caddy | 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 190 comments that mention it, newest first. Each links to the original comment.
“Up until the last couple of years from early-ish 2012, I used nginx for production traffic in a lot of places.”
“an extensive suite of configurable tools to reverse proxy the way you need, with relative safety”
“a three line nginx mitigation (blocking multipart uploads) I wrote in the wee small hours GMT has been quietly protecting a vulnerable machine”
“nginx and the more standard webservers/services oftentimes don't have good support and require quite frankly too much manual configuration”
“I've had issues with nginx still getting IO errors when my server doesn't consume bodies”
“Take whatever is pushing the site over the wire (nginx, Apache, lighthttpd) and use its public APIs to implement your web application.”
“I can rely on gifts to the world like Linux, Debian, PostgreSQL, Apache, Nginx, Caddy, and Yggdrasil without any problems for decades.”
“most of them are low or medium impact and typically only apply to relatively niche modules or configurations”
“Nginx, Caddy, Apache, etc have found and fixed a million edge cases you'd never think of”
“My personal site is hosted on this exact setup. Twice I made the homepage, twice I noticed no slowdown whatsoever.”
“you can also use a reverse proxy like caddy or nginx where encryption and security are primary concerns”
“Now I have meaningful URLs for local apps, and I don't have to remember which one is listening on which port.”
“I couldn't get the web server to not convert it to a / before hitting my code.”
“I just wish nginx / caddy / etc had better out-of-the-box support for letsencrypt”
“a performant web server like nginx for example that is pre configured to serve static files”
“make sure all static assets are served by nginx, add appropriate Cache Control headers”
“there is a ton of knowledge and testing and iteration that has refined it over time”
“just having Nguni in front would help because It’s now filtering the characters which make this attack possible.”
“If you're using nginx/apache/literally anything that does reverse proxying correctly, this shouldn't be a problem”
“NGINX uses async io to handle requests, which is a substantial upgrade from Apache; that's why it's performant.”
“The big three C-based servers: Apache, Nginx, and lighttpd are all pretty solid”
“the official documentation is almost useless, there seem to be many hidden surprises”
“nginx walked into the chat and killed the 10k problem along with having its easy but fancy upstreaming”
“Set proxy_pass_request_headers off, and then explicitly proxy_set_header each individual header you want to forward”
“Its defaults assume that it's fine to do a "normalization" pass to remove double slash”
“Combine with a $5 VPS and nginix reverse proxy to make this true for any device, even ones without tailscale!”
“there is also a reason why large organizations like Cloudflare ran nginx on their edge over any other product”
“Only way I can think of protecting against this is to put a reverse proxy in front of it, like Nginx”
“The key to getting a stable suite was to run tests against a local nginx image serving the web app”
“totally agree that nginx + multiple Node instances is a well-understood and effective setup”
“With nginx and 256 core Epycs, most single servers can easily do 200k requests per sec”
“putting an nginx server in front to do load balancing - which is pretty standard practice”
“i would expect this to comfortably be served by a couple of reasonable old school ngnix servers”
“Nginx doesn’t panic on malformed config. It exits with hopefully a helpful error code and message.”
“I have used apache and nginx directory and file listing functionality with ease.”
“We didn't use nginx because it would drop requests and mess up connections during certain config reloads”
“between nginx buffering and cloudflare I have not been able to sort out getting it to actually work these days”
“Could you please tell me what use cases would nginx be better for, outside of serving static files?”
“handling some of the file IO stuff with, for instance, nginx, might be a better fit for their use case”
“Just install nginx from your repos on your desktop, throw in some .html files to a directory and play.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.