Opening a port to an application accessible outside of localhost?

April 9, 2016 969 views
Linux Basics

I've seen this question asked a million times before, but I've never seen a satisfactory answer. "All ports are open by default." is not helpful.

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

lsof -i :5000 yields

COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
python  11824 root    3u  IPv4 10213572      0t0  TCP localhost:5000 (LISTEN)

But it doesn't work. I have this working on localhost, but it just won't work over the internet.

http://www.yougetsignal.com/tools/open-ports/ shows that the port is closed.

Does anyone have any advice?

1 comment
  • If anyone is looking for the answer to a similar question. Ensure that your application is referencing your domain. Loopback issues were the problem here and I suspect they may be in other questions that weren't answered.

1 Answer

Your program is listening on 127.0.0.1, the loopback interface, which mean that it's only accessible from the Droplet itself. In order to be able to access it externally, you will need to configure it to bind to 0.0.0.0 instead.

Have another answer? Share your knowledge.