Dashboard call leads to 404 error

Hi, I run a reverse proxy (Nginx) from which I access several Node-Red instances.
I secured Nginx with fail2ban.
I keep wondering why I ban myself after several views. So I take a look at the nginx log:

GET /ui HTTP/2.0" 401 574 "-"
GET /ui HTTP/2.0" 301 152 "-"
GET /ui/ HTTP/2.0" 200 1207 "-"
GET /ui/icon120x120.png HTTP/2.0" 200 3452 "https://<Domain>/ui/"
GET /ui/i18n.js HTTP/2.0" 200 341 "https://<Domain>/ui/"
GET /ui/socket.io/socket.io.js HTTP/2.0" 200 37269 "https://<Domain>/ui/"
GET /ui/css/app.min.css HTTP/2.0" 200 91084 "https://<Domain>/ui/"
GET /ui/js/app.min.js HTTP/2.0" 200 586736 "https://<Domain>/ui/"
GET /ui/css/app.min.less HTTP/2.0" 200 4870 "https://<Domain>/ui/"
GET /ui/socket.io/?EIO=4&transport=polling&t=<ID> HTTP/2.0" 200 118 "https://<Domain>/ui/"
GET /ui/loading.html HTTP/2.0" 404 154 "https://<Domain>/ui/"
GET /ui/icon64x64.png HTTP/2.0" 200 2122 "https://<Domain>/ui/"
POST /ui/socket.io/?EIO=4&transport=polling&t=<ID>&sid=<SessionID> HTTP/2.0" 200 2 "https://<Domain>/ui/"
GET /ui/socket.io/?EIO=4&transport=polling&t=<ID>&sid=<SessionID> HTTP/2.0" 200 32 "https://<Domain>/ui/"
GET /ui/socket.io/?EIO=4&transport=polling&t=<ID>&sid=<SessionID> HTTP/2.0" 200 9162 "https://<Domain>/ui/"
POST /ui/socket.io/?EIO=4&transport=polling&t=<ID>&sid=<SessionID> HTTP/2.0" 200 2 "https://<Domain>/ui/"
GET /ui/socket.io/?EIO=4&transport=polling&t=<ID>&sid=<SessionID> HTTP/2.0" 200 687 "https://<Domain>/ui/"

the problem is GET /ui/loading.html HTTP/2.0" 404 154 "https:///ui/"

I don´t know why the dashboard trys to load "/ui/loading.html" - I did not !
/ui/loading.html doesn´t exist.

Is the an general Node-Red Dashboard problem ? or is the problem with me?

the 404 error triggers fail2ban :roll_eyes:

I could define an exception for "/ui/loading.html", but first I want to know if this is normal behavior or not.

From @dceejay I found an answere:

Correct it's just a placeholder to load a loading screen from if you have a slow network / big dashboard / slow browser... A user requested that they wanted to customise one - so rather than build in a default one that we would overwrite on every upgrade it was simpler to just try to load it if it exists - and let it 404 if not, so the user could add whatever they want (or not).

means that I have to put this loading.html myself somewhere?

Greetings

I build a html at:

nano /home/pi/.node-red/node_modules/node-red-dashboard/dist/loading.html

that´s all.

1 Like