Question

Accessing a running http//:localhost:3050 server from public

Posted March 5, 2020 363 views
UbuntuFirewall

Hi, I installed SWI Prologs Online Version SWISH on a Ubuntu droplet which runs now on http://localhost:3050. I want to make it accessible from outside and configured the Firewall in a way that it allows anywhere: 22/tcp, OpenSSH and Port 3050 for ipv4 and ipv6. But I cant get acccess What else do I need to do to get access via the browser and http://xxx.xx.xx.xx:3050? Any help appreciated!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

Hi there @carstenh,

Are your running this insde a Docker container or directly on your host?

I could suggest a couple of things here:

  • First run a netstat to check if your service is binded on localhost only:
netstat -plant | grep 3050 

If the output that you get looks like thins:

tcp        0      0 127.0.0.1:3050            0.0.0.0:*               LISTEN      -

Then you need to make sure that you update your config to bind on 0.0.0.0:3050 instead.

  • Another thing that you could do is rather than binding on 0.0.0.0:3050 is to setup an Nginx reverse proxy and forward the traffic from port 80 to port 3050.

You can do that by following the steps here:

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04#set-up-nginx-as-a-reverse-proxy-server

Note yo only need to follow the “Set Up Nginx as a Reverse Proxy Server” step.

Hope that this helps!
Regards,
Bobby

by Brennen Bearnes
Node.js is an open source JavaScript runtime environment for easily building server-side and networking applications. Node.js applications can be run at the command line but this guide focuses on running them as a service using PM2, so that they will automatically restart on reboot or failure, and can safely be used in a production environment.
Submit an Answer