Freeing external access using tools like easyPHP

Well, has anyone tried to use a tool like easyPHP to free external access to the node-red dashboard? `

It's safe? really works?

What do you mean by

use a tool like easyPHP to free external access to the node-red dashboard?

could you explain that a bit more ? Maybe give an example of what you are trying to do.

Sorry for the lack of clarity.

Well, I'm developing a project in which I run node-red on a local host, on my Windows 10 computer.

Of course, I can only access the dashboard over the local network.

But lately I saw some tools like easyPHP.

I saw that it is possible to make my website or application public through it, making my computer a kind of server.

I saw some examples and tips on how to do it and apparently it is possible, I just have to free access to my network and port 1880 where the dashboard is executed.

I would like some opinions from those who have already used something similar.

if it really is safe and hassle free.

Sorry I won't be able to help since I don't use windows. Hopefully someone else will be abe to comment.

@Joaovitor you can access the dashboard over the internet. You can host custom web sites in ui-builder and access them over the internet. All from within node-red (with no need to learn or write PHP and no need marshal data to/from node-red)

Which ever way you go (easyPHP/dashboard/uibuilder), to access it over the internet, you WILL need to open your PC to the perils of the internet - you WILL need to secure it.

Maybe start small. Expose your dashboard really simply and securely using ngrok (just remember to turn off http access).

First...
Do this: https://nodered.org/docs/user-guide/runtime/securing-node-red

Then look at ngrok...

When you are more familiar with hosting web sites, then look in to SSL & NGNEX

1 Like

I think you may find that such tools also contain disclaimers about safety? Certainly I remember them doing so when I was doing PHP many years ago.

However, in general, yes, the idea of using a front-end "reverse proxy" is what you are thinking about. Really though, you only need a suitable web server to achieve this. You could use pretty much any of the web servers though I'd say that Caddy and NGINX are probably the best (though I've personally not tried either on Windows). Apache is fine too though it tends to be rather more resource intensive. You can even use Microsoft's own IIS with an extension who's name always escapes me but should be easily discoverable since Microsoft build it into their web apps feature on Azure. HAproxy can also be used in the same way.

The idea is that you move the end-point security into the web server layer and completely hide the fact that you are running a node.js service behind the scenes. I would strongly recommend that you configure the proxy to deliver HTTPS only and on port 443 as standard so that you are hiding Node-RED's signature port. For extra security, remove the x-powered-by header. Node-RED itself won't need SSL configuring since the web server/proxy will do it all.

You can also use the web server to provide login capabilities which may be easier to manage than using Node-RED's own user management.

There are various articles on configuring Node-RED behind a proxy. You should also do some reading about security web endpoints. This might be a useful starting point:

There are also various online security checking tools that you should use to provide a basic level of assurance that you have things set up correctly.

One other thing that you can easily do to tighten security still further is to only allow access to your site from Cloudflare. Configure cloudflare to also be a proxy which gives you quite a lot of extra protection for known attack types such as DDOS, it will also give you some useful analytics, all for free.

1 Like

Could help please as I am stuck and don't know enough about HTML and Nginx to get this to work.

I have followed several instructions from different sources without any success. I have Ubuntu 20.04 running Nginx on a raspberry pi 4. I want my dashboard to display on a webpage that I have made and the node-red editor on a seperate page.

if my IP address is 192.168.1.1:1880 and the webpage is https://node-red/editor.com for example.
How do I connect these to have the editor in an iframe on that page? I feel like I have 20 loose ends and don't know what needs to be connected to what.
Nginx is working and I can see the page. I have secured node-red with a password and fail2ban

Thank you

There is a simple rule here.

If you don't know what you are doing, exposing things to the Internet is a BAD idea.

Sorry, but you have a learning curve ahead of you & I've already given some ideas.

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