curl works but not browser

January 1, 2018 5.7k views
Deployment Ubuntu 16.04

I created a simple nodejs app on the Digital Ocean server following the instructions from Digital Ocean. The code is

#!/usr/bin/env nodejs
var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8080, '138.68.244.XXX');   //138.68.244.XXX is the IP of my Digital Ocean server
console.log('Server running at http://localhost:8080/');

After I started the app by the command “node hello.js”
I got output –> “Server running at http://localhost:8080/

I was able to curl the URL->curl http://138.68.244.XXX:8080 to get “Hello World” on the server itself. However, when I tried http://138.68.244.XXX:8080 on a browser, I got “ERRCONNECTIONTIMED_OUT” error.

Please help.

Thank you!

edited by asb
1 Answer

If the app is accessible locally on the server itself but not on the Internet, the first thing I would check is if a firewall is blocking port 8080. If you are using the DigitalOcean One-Click app, the “ufw” firewall is enabled, and all ports except for 22, 80, and 443 are blocked by default.

To open port 8080, run:

  • sudo ufw allow 8080
Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!