Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Access node app on digital ocean - This site can't be reached

I am unable to access my digital ocean node js app. I've already SSH'ed in, cloned my Node app from Git, npm installed, and successfully started the app on the droplet, yet I get error

This site can't be reached

enter image description here

Digital Ocean docs say you can access your publicly facing website simply by going to <your website's ip>:<port>:

enter image description here

I did this by going to 67.205.185.63:9000/ (my app is running on port 9000 as you can see):

root@nodejs-512mb-nyc1-01:~/demos# npm start

[email protected] start /root/demos

node app.js

Demos is listening on port 9000

How else should I be accessing my node app?


var express = require('express');
var bodyParser = require('body-parser');

var app = express();
var port = process.env.PORT || 9000;

...

app.listen(port, function () {
    console.log('Demos is listening on port ' + port);
});
like image 522
user3871 Avatar asked May 16 '17 00:05

user3871


1 Answers

Some Digital Ocean droplets (mainly one-click apps) come with ufw firewall installed and by default all ports except for 22, 80, and 443 are blocked.

To check if ufw is installed and which ports are blocked/open do:

sudo ufw status

Output:

To                         Action      From
--                         ------      ----
22                         LIMIT       Anywhere                  
80                         ALLOW       Anywhere                  
443                        ALLOW       Anywhere                  
22 (v6)                    LIMIT       Anywhere (v6)             
80 (v6)                    ALLOW       Anywhere (v6)             
443 (v6)                   ALLOW       Anywhere (v6)

To allow traffic on port 9000 do:

sudo ufw allow 9000/tcp
like image 67
Marcos Casagrande Avatar answered Nov 17 '22 14:11

Marcos Casagrande