Node-red dashboard or ui as web page

One for @dceejay?

Maybe skip it and try 2.13.2 :slight_smile:

Hi, I was reading topics like this one, and about security , looking for how to access external network node-red ui (dashboard) by apache2. I've begun this month working with my first rpi. I've created a apache2 virtual web server, its running a little website using responsive bootstrap toolkit ccs, js.... follow some tutorials everything seens ok. I'm a hobbyist :slight_smile: .. did some integration with google home assistent, smartnora, gpios ...etc.. I wrote this due to explain where I am on this.

I started working on my first dashboard Ui acessing by local network my.rspi.ip:1880/ui

I was wondering if is it possible to integrate a link on my website running on raspi apache2 to access node-red ui external, and control my dashboard ?

ps: forgot to write i'm using no-ip ddns working okay (without ssl)

Thanks in advance.

Oooh, that sounds no good

1 Like



You should first learn how to integrate SSL. You can do this using Let's Encrypt to manage the certs and keys and you can let Apache handle the TLS termination so that you don't need to mess with Node-RED. Though NR can do the TLS as well but there is probably not much point. There is also a configuration in Node-RED settings to let NR trust the Apache proxy. That's useful if you want to hide the port 1880 which you absolutely should do if exposing Node-RED to the outside world. Your NR endpoints then will sit in a virtual folder under the site root. You should generally use the default port 443 when using TLS as it makes it easier to access.

Generally I use NGINX for my web serving as I find it easier to config and more lightweight on resources than old fashioned Apache. However, either will work and there are tutorials out there that will help you set it up.

1 Like

Great! Thank you for your advice, just start to read all about it!!

I use port forwarding to grant access to the RPI via 3 different ports.

The flow looks like this.
RPI Send / Receive
Node-Red >> Nginx Reverse Proxy >> Tunnelhost >> UFW >>

Server Send / Receive
Recieve via UFW >> Tunnelhost >> Nginx Reverse Proxy.

The 3 ports I have set up is
1 : port for the node-red and node red dashboard via dns on the website
2 : port for remote access via putty to the RPI terminal
3 : handshake port between the RPI and Server
This work in both direction but you need to make sure that your security is really good.