You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Editted description following analysis described in comments below]
If the dashboard is accessed via a proxy then it may not be possible to load third party ui nodes. The reason is that then the node's umd.js file is loaded it is fetched using the httpAdminRoute setting (which may be empty) rather than the dashboard route. If the admin route is not also proxied then the fetch fails with a 404 Not Found error.
For example, if httpAdminRoute is set to flow_editor then the url used for the classic gauge js file is http://domain/flow_editor/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js
This will only work if flow_editor/ is proxied to flow_editor/
I assume that the file should be accessed via the dashboard route so that it does not rely on the admin route being proxied.
[Original description]
When Tailscale is used to connect to a server running node-red, with https, then, in the dashboard, third party ui nodes do not work.
In the developer console I see, for example, a 404 error fetching https://xxx.tailxxx.ts.net/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js
Using tailscale I have proxied /dashboard to localhost:1880/dashboard, and I access the dashboard using https://xxx.tailxxx.ts.net/dashboard. I suspect that the failing uri should actually be https://xxx.tailxxx.ts.net/dashboard/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js
If I access the dashboard through tailscale using http://xxx.tailxxx.ts.net:1880/dashboard then it is fine
I see what is happening. If I set httpAdminRoot to, for example, /flow_editor and, taking the proxy out of the equation, access the dashboard locally at http://<IP>:1880/dashboard and look in the developer tools then I see that it is fetching the umd.js file from http://<IP>:1880/flow_editor/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js. Note that it is using httAdminRoot. If I now access it through the proxy then it tries to fetch it from https://xxx.tailxxxx.ts.net/flow_editor/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js. But I have not proxied /flow_editor so it does not find it.
If I don't set httpAdminRoot and go to http://<IP>:1880/dashboard then the file is fetched from http://<IP>:1880/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js, but again, since I have not proxied / to / it does not work. In fact if I do proxy / to / then it does work.
Should not the umd.js file be fetched from a /dashboard relative location rather then httpAdminRoot?
colinl
changed the title
Third party nodes not working when dashboard is accessed through tailscale with https
Third party nodes not working when dashboard is accessed via proxy unless admin route also proxied directly
Feb 12, 2025
Current Behavior
[Editted description following analysis described in comments below]
If the dashboard is accessed via a proxy then it may not be possible to load third party ui nodes. The reason is that then the node's
umd.js
file is loaded it is fetched using the httpAdminRoute setting (which may be empty) rather than the dashboard route. If the admin route is not also proxied then the fetch fails with a 404 Not Found error.For example, if httpAdminRoute is set to
flow_editor
then the url used for the classic gauge js file ishttp://domain/flow_editor/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js
This will only work if
flow_editor/
is proxied toflow_editor/
I assume that the file should be accessed via the dashboard route so that it does not rely on the admin route being proxied.
[Original description]
When Tailscale is used to connect to a server running node-red, with https, then, in the dashboard, third party ui nodes do not work.
In the developer console I see, for example, a 404 error fetching
https://xxx.tailxxx.ts.net/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js
Using tailscale I have proxied /dashboard to localhost:1880/dashboard, and I access the dashboard using https://xxx.tailxxx.ts.net/dashboard. I suspect that the failing uri should actually be
https://xxx.tailxxx.ts.net/dashboard/resources/@colinl/node-red-dashboard-2-ui-gauge-classic/ui-gauge-classic.umd.js
If I access the dashboard through tailscale using
http://xxx.tailxxx.ts.net:1880/dashboard
then it is fineMost likely this is the same problem as #1612
Expected Behavior
No response
Steps To Reproduce
No response
Environment
Have you provided an initial effort estimate for this issue?
I am not a FlowFuse team member
The text was updated successfully, but these errors were encountered: