r/nginx 2d ago

Recordatorio sobre la ejecución remota de código en WordPress: no ejecute Nextcloud y WordPress con el mismo usuario de PHP.

Thumbnail
0 Upvotes

r/nginx 3d ago

Understanding CVE-2026-42533: NGINX heap overflow and exploitation conditions

Thumbnail
thecybersecguru.com
13 Upvotes

CVE-2026-42533 is a configuration-dependent heap buffer overflow in NGINX that is only reachable under specific request-processing conditions. This analysis examines the vulnerable code path, exploitation prerequisites, affected versions, patch changes, mitigation guidance, and the factors that determine whether the flaw is limited to a crash or could be leveraged further.


r/nginx 3d ago

Banning clients by error rate inside nginx (preaccess phase) instead of fail2ban

7 Upvotes

fail2ban always bugged me for pure nginx abuse cases: it tails the log, parses on a delay, then shells out to the firewall. The ban lands seconds after the scanner already walked half your tree.

There's a module approach I've been running instead: count 403/404 responses per client in a shared memory zone (leaky-bucket decay, so a slow trickle of legit 404s never accumulates), and once a client crosses the threshold, reject it at the preaccess phase with a 429 + Retry-After. The ban check runs before routing, static file lookup or proxy_pass, so hammering gets cheaper for the server, not more expensive.

Wrote up the full config reference including dry_run rollout, keying on a map so logged-in users are never scored, and syncing bans across a fleet via Redis pub/sub (out of the request path, fails open): https://www.getpagespeed.com/server-setup/nginx/nginx-abuse-guard-module

Disclosure: I package this module (and ~100 others) for the repo linked. Happy to answer config questions.


r/nginx 6d ago

NGINX Community Call on July 22nd - we'd love to connect

14 Upvotes

Hey r/nginx, NGINX oss community manager here.

We're starting quarterly NGINX Community Calls and the first is happening next week, 22 July at 9:00 PT/17:00 GMT. 

This is an open community meeting intended for connection and dialogue. Together we'll discuss roadmap, PR/Issues review, Q&A, and config support. If you have a PR or Issue you'd like to talk through and get unblocked, please bring it to the community call! 

Details and the Zoom link are here in the forum calendar (can download .ics file or add to google calendar from there). We're collecting questions here in the comments and on the calendar event in advance. 

All are welcome to join. We encourage contributors and curious users alike. I hope to see you there!


r/nginx 7d ago

Critical NGINX vulnerabilities patched: HTTP/3 and HTTP/2 bugs could lead to RCE under certain conditions

Thumbnail
thecybersecguru.com
10 Upvotes

F5 has released out-of-band patches for two critical NGINX vulnerabilities affecting HTTP/3 and HTTP/2 components. While most successful exploits are expected to result in worker crashes, remote code execution may be possible if ASLR is disabled or bypassed


r/nginx 7d ago

NGINX 1.30.4 and 1.31.3 released

16 Upvotes

Post spam, new version, new bugs, and apparently another season of "The Heap Adventures".

This time we have:

  • another heap buffer overflow,
  • uninitialized memory access,
  • another use-after-free,
  • possible memory disclosure,
  • and workers deciding to leave production unexpectedly.

Reference: https://nginx.org/en/CHANGES-1.30


r/nginx 11d ago

Why is my domain not connect?

Thumbnail
0 Upvotes

r/nginx 13d ago

Nginx Http3 - GeopIP + Fail2ban

Post image
22 Upvotes

We implemented GeoIP filtering directly in Nginx with ngx_http_geoip2 and the MaxMind GeoLite2 Country database, so the apps stay completely unaware of location logic: private/LAN ranges are always allowed, public clients are mapped by country, and only French IPs can reach the protected vhosts. Blocked requests return 451 with a custom page showing the detected IP and country, which makes support and debugging much easier. On top of that, Fail2Ban feeds a netdev blacklist so banned IPs are dropped at interface ingress before the normal IP/TCP path, which is far more efficient because malicious packets are discarded before conntrack, routing, and socket handling.


r/nginx 13d ago

Rspamd ui not working

Thumbnail
1 Upvotes

Long time Apache user, brand new to nginx and having this problem. Please help if possible.


r/nginx 13d ago

Cookies aren't saved

Thumbnail
0 Upvotes

r/nginx 14d ago

NPM to Jellyfin: Need to add port manually to make it works

Thumbnail
gallery
2 Upvotes

Hi guys,

I really appreciate some help because can't figure why my NPM is not working in the right way.

Case:
OpenMediaVault with Docker with Jellyfin + jc21/nginx-proxy-manager + duckdns.

If I connect to my duckdns subdomain it gives me error "The site can't be reach" or, before I changed OMV default port 80 to 8080, it opened OMV login page.

BUT if I add the jellyfin port at the end (xxxx.duckdns.org:8096) it works like a charm (also from phone/external connection)

I've tested also locally with "jellyfin.local" and the modify on the hosts file and it's the same.

Thanks!


r/nginx 16d ago

Word press php requests drawing 301 and then 404 responses

0 Upvotes

Apparently a redirect is occurring These are filling up my access log I wanna ban them Should I edit fail2ban jail.conf to included requests that draw 404?
GET //wp-includes/assets/min.php HTTP/1.1" 301 169 "-" "-"
GET //wp-includes/assets/min.php HTTP/1.1" 404 0 "-" "-"


r/nginx 18d ago

Windows PCs cannot reach my self-hosted HTTPS site, but phones can (same network, same DNS)

3 Upvotes

I'm hoping someone can help me figure out a networking issue that has me completely stumped.

Setup

  • Ubuntu 24.04 on a DigitalOcean droplet
  • Nginx + Let's Encrypt
  • React frontend
  • Node.js backend
  • Domain: morecreator.app

What's happening

My iPhone can access the site perfectly on:

  • Home Wi-Fi
  • Cellular

However, two completely different Windows laptops both fail.

The browser eventually returns:

ERR_CONNECTION_TIMED_OUT

curl also times out:

curl.exe -vk https://morecreator.app

Trying <server IP>:443...
Timed out

What I've already verified

  • Nginx is running.
  • HTTPS is configured correctly with Let's Encrypt.
  • The site responds correctly when accessed locally on the server.
  • UFW allows ports 80 and 443.
  • DNS resolves correctly.
  • No proxy configured.
  • Reset Winsock and TCP/IP.
  • Disabled Internet Connection Sharing (ICS).
  • Tried different DNS servers.
  • Disabled IPv6.
  • No VPN installed.
  • Windows Defender only (no third-party antivirus).
  • Same behavior on two different Windows laptops.

The strange part

Everything worked perfectly a couple of weeks ago while I was in California.

After returning home to Georgia:

  • ✅ iPhone still works
  • ❌ Windows laptops both time out

The server configuration hasn't changed.

I'm trying to determine whether this is:

  • a Windows networking issue,
  • something with my ISP/router,
  • DigitalOcean routing,
  • or something I'm overlooking.

Has anyone run into something similar?


r/nginx 19d ago

TRYING to set up DNS challenge for Vaultwarden

2 Upvotes

So I have convinced myself that my first step in degoogling before moving email accounts and installing Graphene should be taking control of my passwords. For years they have languished in Google, and as far as I'm concerned, what's the point in leaving their ecosystem if I continue to store the passwords for all my new stuff in their password manager.

So I'm trying to set up DNS challenge on Nginx.

I have settled on deSEC for my DNS challenge provision (I already use freedns.afraid.org for Dynamic DNS and it has been flawless, but something something doesn't work with certbot, and I can't find a tutorial.

So I try to set up a certificate with Nginx, using let's encrypt vis DNS. I have my domains at deSEC, and I'm using:

mydom.dedyn.io and *.mydom.dedyn.io as the domains, (set as an A record to my Nginx LAN IP of 10.0.10.6)

ECDSA256,

and placing my token in the credentials file content:

dns_desec_token = YOUR_DESEC_API_TOKEN

dns_desec_endpoint = https://desec.io/api/v1/

And proportion seconds 240.

When I click save Nginx just sits and spins for 10 - 60 seconds, then gives 'internal error'.

I know full well my Nginx container has network as I can ping out to the internet.

Letsdebug.net gives me a big thumbs-up for my dns-01 challenge test.

Using Nginx 2.15.1 on Proxmox.

Does anyone have any helpful hints?


r/nginx 20d ago

Want a native Nginx sensor in PRTG? Vote for it!

3 Upvotes

Paessler is gathering votes for a native Nginx sensor in PRTG. If this is something you'd find useful, your vote helps prioritize it on the roadmap.

Roadmap item: https://uservoice.paessler.com/discovery/roadmap/feature/164062

Feature request (upvote here): https://uservoice.paessler.com/forums/965997/suggestions/51466195

Every vote counts — thanks!


r/nginx 22d ago

Building a Dockerized WordPress + NGINX Environment: What I Learned Along the Way

Thumbnail medium.com
3 Upvotes

Learning by Building: Dockerized WordPress with NGINX
One of the best ways I've found to deepen my understanding of infrastructure is by building complete, reproducible environments from scratch.

Recently, I put together an open-source project (an old one , recently updated) that provisions a WordPress + NGINX stack using Docker. The goal wasn't just to "run WordPress in a container"—it was to better understand how the different pieces of a modern web stack work together.

Some of the areas I explored while building this project:

🐳 Docker & Docker Compose for multi-container applications
🌐 NGINX as the web server and reverse proxy
🗄️ Service networking and container communication
📂 Persistent volumes for application and database data
⚙️ Environment-based configuration for portability
🔄 Reproducible local development environments
📂 AI-First with AGENTS.md and /docs & Graphify

A few key takeaways from this project:
Infrastructure becomes much easier to manage when everything is defined as code.

Containerization removes the classic "works on my machine" problem.
Understanding how NGINX, PHP, WordPress, and the database interact provides a much stronger foundation than simply using pre-built images.
This project is part of my continuous learning journey in DevOps, cloud-native technologies, and modern application deployment. Every project teaches something new, and sharing them helps reinforce those lessons.
If you're learning Docker or want a simple WordPress + NGINX setup as a starting point, feel free to explore the repository and share any suggestions or improvements.

📂 GitHub:

https://github.com/masoudei/docker-wordpress-nginx

Feedback, ideas, and contributions are always welcome!

\#Docker #NGINX #WordPress #DevOps #Cloud #OpenSource #InfrastructureAsCode #SoftwareEngineering #Backend #Linux #LearningInPublic #GitHub


r/nginx 28d ago

I can no longer visit my sub domains.

3 Upvotes

Did something about nginx proxy manager change? I can no longer reach the sub domains that I have set for my local services.

Edit: I have my DNS on my router set to the machine that is running nginx and I have my adguardhome dns rewrite my wildcarded domain to point towards nginx. Sometimes nginx will successfully let me visit and sometimes not.


r/nginx 28d ago

nginx autocert module, feedback wanted

5 Upvotes

Hi Everybody, on request we created a new module to automaticly request TLS certificates.
https://github.com/eilandert/nginx-autocert-module

Give it a go, and please don't forget to give feedback ;-)


r/nginx Jun 23 '26

How to setup Man-In-The-Middle Proxy to Capture All NPM Traffic

Thumbnail
1 Upvotes

r/nginx Jun 19 '26

Use-after-free in the QPACK encoder of nginx HTTP/3 - CVE-2026-42530

Thumbnail
cystack.net
9 Upvotes

r/nginx Jun 19 '26

NGINX Status Code 413: Request Entity Too Large.

5 Upvotes

On my client, I am getting the Status Code 413. In the NGINX err logs I am getting the message shown below when I send an array of imagges to be processed from form data.
2026/06/19 13:10:26 [error] 28804#9052: *838 client intended to send too large body: 22992056 bytes, client: 127.0.0.1, server: testsite.com, request: "POST /process/ HTTP/1.1", host: "testsite.com"

I added client_max_body_size 100M and client_body_buffer_size 25M into the http, server, and location sections and still same issue. My client server is nuxt and tried

    requestSizeLimiter:
    {
      maxRequestSizeInBytes: 250 * 1000 * 1000,
      maxUploadFileRequestInBytes: 50 * 1000 * 1000
    }

along with

    requestSizeLimiter: false

same issue. What should I do?

EDIT: Fixed. There was an issue with my nginx and had to be taskkilled.


r/nginx Jun 17 '26

Looking for feedback on new nginx logging project

4 Upvotes

I’m looking for feedback on an open-source project I’ve been building called Failed Request Trace (FRT).

The project started after troubleshooting an ASP.NET application using IIS Failed Request Event Buffering (FREB). I was impressed by how useful detailed request diagnostics were when multiple infrastructure components sat between the client and the application.

That led me to ask:

Why doesn’t similar tooling exist for modern cloud-native infrastructure?

The first implementation targets NGINX/OpenResty and captures:

  • Request metadata
  • Response metadata
  • Correlation IDs
  • Selected headers
  • Selected query string parameters
  • Structured JSON output

The project is secure by default:

  • Header capture is allowlist-based
  • Query parameter capture is allowlist-based
  • Sensitive headers are automatically redacted
  • Sensitive query parameters are automatically redacted
  • Access log guidance is included to avoid leaking sensitive data

My longer-term goal is to extend the concept beyond NGINX into AWS and cloud-native environments such as:

  • ECS/Fargate
  • API Gateway
  • Lambda
  • Kubernetes ingress controllers

Here is a sample log entry:

{
    "request_id": "test-123",
    "timestamp": 1781451653,
    "response": {
        "headers": {
            "content-type": "text/html",
            "content-length": "1935",
            "etag": "\"6a2da7ae-78f\""
        },
        "status": 200
    },
    "request": {
        "host": "localhost",
        "method": "GET",
        "uri": "/index.html",
        "query": {
            "username": "b",
            "password": "[REDACTED]"
        },
        "headers": {
            "referer": "http://example.com/",
            "x-request-id": "test-123",
            "x-correlation-id": "corr-456",
            "authorization": "[REDACTED]",
            "user-agent": "curl/8.7.1",
            "accept": "*/*",
            "accept-language": "en-US",
            "cookie": "[REDACTED]",
            "host": "localhost"
        }
    },
    "timing": {
        "request_time": 0
    }
}

Repository:

https://github.com/blainekwilson/failed-request-trace

I’m specifically interested in feedback from people who operate NGINX, OpenResty, cloud platforms, or large-scale web applications.

Questions:

  1. Is this a problem you’ve encountered?
  2. Would you use something like this in production?
  3. What data would you want captured that I’m currently missing?
  4. What would prevent you from adopting it?
  5. Would you prefer JSON output, XML output, or both?

Any feedback is appreciated.


r/nginx Jun 17 '26

Si le serveur HTTP Apache bénéficiait d'une refonte majeure en version 2, qu'attendriez-vous concrètement de cette nouvelle version ?

Thumbnail
0 Upvotes

r/nginx Jun 12 '26

Nginx benchmarks pointed to the wrong root cause

7 Upvotes

Ran into a strange issue recently.

Some requests were failing, but the server looked mostly idle. CPU was low, memory was fine.

I compared native Nginx against the Docker version and native came out almost 2x faster. At that point I was convinced I was dealing with a Docker or Nginx performance problem.

Turned out the issue was down in the Linux kernel, not Nginx or Docker.

Curious if anyone else has had a case where the benchmarks looked obvious but the real issue was somewhere completely different.

Video is about a 2 minutes if anyone is interested:

https://www.youtube.com/watch?v=-TNSqO8-M80


r/nginx Jun 12 '26

How to make a static outbound IP proxy with NGINX

9 Upvotes