Can't connect to Flask web service, connection refused

I'm trying to run a simple web server on a Raspberry Pi with Flask. When I run my Flask app, it says:

running on http://127.0.0.1:5000/

But when I enter this address on my laptop's in Chrome, I get

ERR_CONNECTION_REFUSED

I can open 127.0.0.1:5000 on the Raspberry Pi's browser. What do I need to do to connect from another computer?


Run your app like this:

if __name__ == '__main__':
    app.run(host='0.0.0.0')

It will make the server externally visible. If the IP address of the machine is 192.168.X.X then, from the same network you can access it in 5000 port. Like, http://192.168.X.X:5000


when you are running the server via flask run change it to flask run --host=0.0.0.0 to connect, find the IPV4 address of the server that your script is running on. On the same network, go to http://[IPV4 address]:5000


A reason could also be in firewall refusing incoming connections on port 5000. Try:

sudo ufw allow 5000

app.run(host='0.0.0.0',port=5000)

if you run your app in this way then your server will be visible externally. Steps by Setp:

  1. Run your app by using the following command

    app.run(host='0.0.0.0',port=5000)

  2. Go to the window cmd . Type ipconfig and get the get the IPV4 adress suppose your IPV4 address is 192.168.X.X

  3. Go to the mobile browser and type the 192.168.X.X:5000


If you have debug = True inside your app.run(), then it will not be visible to other machines either. Specify host and port inside app.run() without the debug = True.