[Bug] Syntax error in Advanced config silently deletes .conf file, UI still shows "Online"
Version: 2.15.1
Steps to reproduce:
Create a proxy host with valid settings, save successfully
Edit the proxy host, go to "Advanced" tab
Add an invalid nginx directive, e.g. proxy_passs http://127.0.0.1:8080; (typo)
Click "Save"
Expected behavior:
UI should show an error message indicating the config is invalid
Actual behavior:
UI shows "Save successful" / proxy host still shows "Online" ✅
The .conf file (e.g. /data/nginx/proxy_host/3.conf) is silently deleted ❌
The proxy stops working with no indication ❌
Running nginx -t afterwards passes (because the broken file is already gone)
No error is shown in the UI, no toast notification, no status change
Impact:
The proxy silently fails with zero notification
Users cannot detect the failure without manually checking file existence or external monitoring
This has been the behavior since the framework rewrite (v2.13+)
Suggested fix:
Propagate the error to the API response so the frontend can display it
Roll back the database state or mark the proxy host as "error" in the UI
Environment:
Docker: jc21/nginx-proxy-manager:2.15.1
OS: [centos 7.9 ]
Docker version: [Docker version 26.1.2]
[Bug] Syntax error in Advanced config silently deletes .conf file, UI still shows "Online"
Version: 2.15.1
Steps to reproduce:
Create a proxy host with valid settings, save successfully
Edit the proxy host, go to "Advanced" tab
Add an invalid nginx directive, e.g. proxy_passs http://127.0.0.1:8080; (typo)
Click "Save"
Expected behavior:
UI should show an error message indicating the config is invalid
Actual behavior:
UI shows "Save successful" / proxy host still shows "Online" ✅
The .conf file (e.g. /data/nginx/proxy_host/3.conf) is silently deleted ❌
The proxy stops working with no indication ❌
Running nginx -t afterwards passes (because the broken file is already gone)
No error is shown in the UI, no toast notification, no status change
Impact:
The proxy silently fails with zero notification
Users cannot detect the failure without manually checking file existence or external monitoring
This has been the behavior since the framework rewrite (v2.13+)
Suggested fix:
Propagate the error to the API response so the frontend can display it
Roll back the database state or mark the proxy host as "error" in the UI
Environment:
Docker: jc21/nginx-proxy-manager:2.15.1
OS: [centos 7.9 ]
Docker version: [Docker version 26.1.2]