# Dashboard call leads to 404 error

**URL:** <https://discourse.nodered.org/t/dashboard-call-leads-to-404-error/96707>\
**Category:** General\
**Created:** [22 April 2025 18:25 UTC](https://discourse.nodered.org/t/dashboard-call-leads-to-404-error/96707 "2025-04-22T18:25:36Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)\
**Post date:** [22 April 2025 18:25 UTC](https://discourse.nodered.org/t/dashboard-call-leads-to-404-error/96707/1 "2025-04-22T18:25:36Z")

</div>

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:

```auto
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 🙄

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

---

<div class="post-metadata">

**Author:** ![Becker](https://avatars.discourse-cdn.com/v4/letter/b/c77e96/32.png) [@Becker](https://discourse.nodered.org/u/Becker)\
**Post date:** [22 April 2025 19:15 UTC](https://discourse.nodered.org/t/dashboard-call-leads-to-404-error/96707/2 "2025-04-22T19:15:58Z")

</div>

I build a html at:

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

that´s all.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [6 May 2025 19:16 UTC](https://discourse.nodered.org/t/dashboard-call-leads-to-404-error/96707/3 "2025-05-06T19:16:27Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
