Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?
Yes
Are you sure you're not using someone else's docker image?
Yes
Have you searched for similar issues (both open and closed)?
Yes
Describe the bug
When a proxy host that has HTTPS enabled receives too many requests, some requests fail randomly with a net::ERR_FAILED error (there is no status code in the Chrome network tab).
This issue does not happen if NPM is only working via HTTP.
It happens when multiple files are requested in a short period of time, NocoDB is a self-hosted app that requests around 200 files on the first load, and it's used as an example because it's easier to trigger the issue with it.
To make sure the issue was not limited to NocoDB, I created a simple Next.js app (a Next.js app loads about 30 on the first load on average), and the issue still happened, but less frequently (the issue seems related to the amount of requests made in a short period of time).
No useful kernel logs (tried dmesg -w and journalctl -f)
No useful NGINX logs, checked the respective access and error logs and the files thtat were shown as failed on Chrome, were shown with an status code 200 on the NGINX logs.
Nginx Proxy Manager Version
v2.9.18
To Reproduce
Steps to reproduce the behavior:
Run a web application that requests lots of files, for the sake of testing you can try NocoDB e.g. docker run --rm --net=host nocodb/nocodb, it will listen at port 8080, using --net=host to bypass docker-proxy (so 1 less point of failure)
On NPM add a new Proxy Host to expose NocoDB, I'm running NocoDB on the same host as NPM so I'm exposing http://127.0.0.1:8080
Enable SSL under a custom domain (I'm using letsencrypt with a domain that points to my local NPM instance, so the requests do not go to the internet)
Visit the configured domain with the element inspector open e.g. https://nocodb.example.com (you don't even need to create an account, just load the first page and see it fail)
Expected behavior
All requests should succeed
Screenshots
Only showing the first request that failed, expect more failed requests when scrolling the network requests inspector
Ignore the favicon.icon, that one is expected to fail
Ignore the TypeError: Failed to fetch dynamically imported module error, that one comes from NocoDB when a network error happens
Operating System
Tested on Alpine Linux 64-bit host
Tested on Debian 11 64-bit host
(Same results on both)
Additional context
Docker version 20.10.20 (on Alpine host, my Debian host no longer exists but can re-create if needed)
Tested different network cards, tested different network cables
Tried increasing net.netfilter.nf_conntrack_max and fs.file-max but they didn't work
Tested a reverse proxy with Caddy and it worked without issues
Checklist
jc21/nginx-proxy-manager:latest
docker image?Describe the bug
net::ERR_FAILED
error (there is no status code in the Chrome network tab).dmesg -w
andjournalctl -f
)Nginx Proxy Manager Version
v2.9.18
To Reproduce Steps to reproduce the behavior:
docker run --rm --net=host nocodb/nocodb
, it will listen at port 8080, using--net=host
to bypass docker-proxy (so 1 less point of failure)http://127.0.0.1:8080
https://nocodb.example.com
(you don't even need to create an account, just load the first page and see it fail)Expected behavior
All requests should succeed
Screenshots
TypeError: Failed to fetch dynamically imported module
error, that one comes from NocoDB when a network error happensOperating System
Additional context
net.netfilter.nf_conntrack_max
andfs.file-max
but they didn't workTested a reverse proxy with Caddy and it worked without issues