Hacker ApprovedDepartments

nginx

Hacker Approved

The 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%
Each figure is 2 people. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. 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”
  • 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”
  • 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”
  • 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”

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.

nginx compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
nginxThis page1304475%1215 yrs5 ownersApproved
Caddy1141092%12—Approved
Apache HTTP Server523262%1210 yrs5 owners—
Zeroserve17868%1——
FrankenPHP15194%8—Approved
See all 8 web servers, ranked

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.”

RecommendsComment from 27 Oct 2026 in “Native Prometheus Integration with Nginx”

“an extensive suite of configurable tools to reverse proxy the way you need, with relative safety”

MixedComment from 26 Oct 2026 in “Native Prometheus Integration with Nginx”

“a three line nginx mitigation (blocking multipart uploads) I wrote in the wee small hours GMT has been quietly protecting a vulnerable machine”

RecommendsComment from 21 Oct 2026 in “Today's PHP security release, and how we're strengthening security”

“nginx and the more standard webservers/services oftentimes don't have good support and require quite frankly too much manual configuration”

CriticizesComment from 19 Oct 2026 in “Let's Encrypt is adding two additional remote perspectives for domain validation”

“I've had issues with nginx still getting IO errors when my server doesn't consume bodies”

CriticizesComment from 14 Oct 2026 in “Better HTTP/1 connection reuse in Go 1.27”

“Take whatever is pushing the site over the wire (nginx, Apache, lighthttpd) and use its public APIs to implement your web application.”

RecommendsComment from 13 Oct 2026 in “A Modern Web App in C”

“I can rely on gifts to the world like Linux, Debian, PostgreSQL, Apache, Nginx, Caddy, and Yggdrasil without any problems for decades.”

RecommendsComment from 9 Oct 2026 in “Ask HN: What do you run on a $5 VPS that's worth keeping online 24/7?”

“most of them are low or medium impact and typically only apply to relatively niche modules or configurations”

RecommendsComment from 23 Sep 2026 in “WordPress: Unauthenticated path traversal leading to conditional RCE”

“Nginx, Caddy, Apache, etc have found and fixed a million edge cases you'd never think of”

RecommendsComment from 19 Sep 2026 in “I built the fastest PHP webserver in the world”

“My personal site is hosted on this exact setup. Twice I made the homepage, twice I noticed no slowdown whatsoever.”

RecommendsComment from 12 Sep 2026 in “My last six months at Evernote”

“you can also use a reverse proxy like caddy or nginx where encryption and security are primary concerns”

RecommendsComment from 8 Sep 2026 in “Jellyfin 12.0”

“Now I have meaningful URLs for local apps, and I don't have to remember which one is listening on which port.”

RecommendsComment from 22 Aug 2026 in “Stop Making TUIs”

“I couldn't get the web server to not convert it to a / before hitting my code.”

CriticizesComment from 14 Aug 2026 in “Choose Boring Technology (2015)”

“I just wish nginx / caddy / etc had better out-of-the-box support for letsencrypt”

CriticizesComment from 7 Aug 2026 in “The web server deployment model breaks at hobby scale”

“a performant web server like nginx for example that is pre configured to serve static files”

RecommendsComment 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”

RecommendsComment from 26 Jul 2026 in “Some more things about Django I've been enjoying”

“there is a ton of knowledge and testing and iteration that has refined it over time”

RecommendsComment from 6 Jun 2026 in “Zeroserve: A zero-config web server you can script with eBPF”

“just having Nguni in front would help because It’s now filtering the characters which make this attack possible.”

RecommendsComment from 27 May 2026 in “BadHost – CVE-2026-48710 Starlette Host-Header Auth Bypass”

“If you're using nginx/apache/literally anything that does reverse proxying correctly, this shouldn't be a problem”

RecommendsComment from 27 May 2026 in “BadHost – CVE-2026-48710 Starlette Host-Header Auth Bypass”

“NGINX uses async io to handle requests, which is a substantial upgrade from Apache; that's why it's performant.”

RecommendsComment from 15 May 2026 in “New Nginx Exploit”

“The big three C-based servers: Apache, Nginx, and lighttpd are all pretty solid”

RecommendsComment from 14 May 2026 in “New Nginx Exploit”

“the official documentation is almost useless, there seem to be many hidden surprises”

CriticizesComment from 13 May 2026 in “Nginx.org/En/Changes”

“nginx walked into the chat and killed the 10k problem along with having its easy but fancy upstreaming”

RecommendsComment from 30 Apr 2026 in “FastCGI: 30 Years Old and Still the Better Protocol for Reverse Proxies”

“Set proxy_pass_request_headers off, and then explicitly proxy_set_header each individual header you want to forward”

RecommendsComment from 29 Apr 2026 in “FastCGI: 30 Years Old and Still the Better Protocol for Reverse Proxies”

“Its defaults assume that it's fine to do a "normalization" pass to remove double slash”

CriticizesComment from 18 Apr 2026 in “It is incorrect to "normalize" // in HTTP URL paths”

“Combine with a $5 VPS and nginix reverse proxy to make this true for any device, even ones without tailscale!”

RecommendsComment from 14 Apr 2026 in “WiiFin – Jellyfin Client for Nintendo Wii”

“there is also a reason why large organizations like Cloudflare ran nginx on their edge over any other product”

RecommendsComment from 30 Mar 2026 in “Nginx – Open-Sourced Session Persistence, Multipath TCP and More”

“Only way I can think of protecting against this is to put a reverse proxy in front of it, like Nginx”

RecommendsComment from 5 Feb 2026 in “When internal hostnames are leaked to the clown”

“The key to getting a stable suite was to run tests against a local nginx image serving the web app”

RecommendsComment from 11 Jan 2026 in “Visual regression tests for personal blogs”

“totally agree that nginx + multiple Node instances is a well-understood and effective setup”

RecommendsComment from 29 Dec 2025 in “Show HN: Titan – JavaScript-first framework that compiles into a Rust server”

“With nginx and 256 core Epycs, most single servers can easily do 200k requests per sec”

RecommendsComment from 26 Dec 2025 in “We "solved" C10K years ago yet we keep reinventing it”

“putting an nginx server in front to do load balancing - which is pretty standard practice”

RecommendsComment from 17 Dec 2025 in “Show HN: Titan – JavaScript-first framework that compiles into a Rust server”

“i would expect this to comfortably be served by a couple of reasonable old school ngnix servers”

RecommendsComment from 15 Dec 2025 in “We architected an edge caching layer to eliminate cold starts”

“Nginx doesn’t panic on malformed config. It exits with hopefully a helpful error code and message.”

RecommendsComment from 19 Nov 2025 in “Cloudflare outage on November 18, 2025 post mortem”

“I have used apache and nginx directory and file listing functionality with ease.”

RecommendsComment from 17 Nov 2025 in “Google is killing the open web, part 2”

“We didn't use nginx because it would drop requests and mess up connections during certain config reloads”

CriticizesComment from 15 Nov 2025 in “Kubernetes Ingress Nginx is retiring”

“between nginx buffering and cloudflare I have not been able to sort out getting it to actually work these days”

CriticizesComment from 8 Nov 2025 in “How did I get here?”

“Could you please tell me what use cases would nginx be better for, outside of serving static files?”

MixedComment from 3 Nov 2025 in “Why we migrated from Python to Node.js”

“handling some of the file IO stuff with, for instance, nginx, might be a better fit for their use case”

RecommendsComment from 3 Nov 2025 in “Why we migrated from Python to Node.js”

“Just install nginx from your repos on your desktop, throw in some .html files to a directory and play.”

RecommendsComment from 3 Nov 2025 in “Using FreeBSD to make self-hosting fun again”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.