Checklist
- Have you pulled and found the error with
jc21/nginx-proxy-manager:latest docker image?
- Are you sure you're not using someone else's docker image?
- Have you searched for similar issues (both open and closed)?
Describe the bug
When the NPM web admin frontend receives an HTTP request for a path that does not exist, it fails to send a 404 Not Found. Instead it send 200 Ok, with what I think is index.html in the response body.
Nginx Proxy Manager Version
v2.14.0
To Reproduce
Steps to reproduce the behavior:
> curl -i https://npm.example.com/NoSuchPath
HTTP/2 200
server: openresty
date: Tue, 02 Jun 2026 22:49:28 GMT
content-type: text/html
content-length: 1451
last-modified: Tue, 17 Feb 2026 05:33:26 GMT
etag: "6993fda6-5ab"
accept-ranges: bytes
x-served-by: npm.example.com
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Nginx Proxy Manager</title>
<meta name="description" content="In The Office Planner" />
[ABRIDGED]
<meta name="theme-color" content="#ffffff" />
<script type="module" crossorigin src="/assets/index-BwxhCj6Q.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-PuE7CNBN.css">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script>
if (global === undefined) {
var global = window;
}
</script>
</body>
</html>
The log entry looks like this:
[02/Jun/2026:18:49:28 -0400] - 200 200 - GET https npm.example.com "/NoSuchPath" [Client 1.2.3.4] [Length 1451] [Gzip -] [Sent-to 127.0.0.1] "curl/7.74.0" "-"
Notice that the log shows a 200 Ok, and that it sent 1451 unnecessary bytes in the response body.
Expected behavior
I expect a request for an unknown path to return a 404 Not found.
Operating System
Docker on linux/amd64
Checklist
jc21/nginx-proxy-manager:latestdocker image?Describe the bug
When the NPM web admin frontend receives an HTTP request for a path that does not exist, it fails to send a 404 Not Found. Instead it send 200 Ok, with what I think is index.html in the response body.
Nginx Proxy Manager Version
v2.14.0
To Reproduce
Steps to reproduce the behavior:
The log entry looks like this:
Notice that the log shows a 200 Ok, and that it sent 1451 unnecessary bytes in the response body.
Expected behavior
I expect a request for an unknown path to return a 404 Not found.
Operating System
Docker on linux/amd64