¿Cómo permitir conexiones remotas a Flask?

22

Dentro del sistema, ejecutándose en una máquina virtual, puedo acceder al servidor en ejecución en 127.0.0.1:5000 .

Aunque la dirección 'remota' de la vm es 192.168.56.101 (ping y ssh funcionan bien), no puedo acceder al servidor con 192.168.50.101:5000 ni desde la máquina virtual ni desde la máquina local.

Supongo que hay algo que impide las conexiones remotas.

Aquí está / etc / network / interfaces:

auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0

ufw está inactivo.

¿Cómo soluciono este problema?

    
pregunta Ilya Smagin 01.12.2012 - 21:34

3 respuestas

39

Antes que nada, asegúrate de que tu servidor HTTP esté escuchando en 192.168.50.101:5000 o en todas partes ( 0.0.0.0:5000 ) marcando el resultado de:

netstat -tupln | grep ':5000'

Si no es así, consulte la documentación de Flask para enlazar a una dirección que no sea localhost.

Si lo es, permita el tráfico usando iptables:

iptables -I INPUT -p tcp --dport 5000 -j ACCEPT

De la documentación de Flask:

  

Servidor visible externamente Si ejecuta el servidor, notará que   el servidor solo es accesible desde su propia computadora, no desde   otro en la red. Este es el valor predeterminado porque en el modo de depuración a   usuario de la aplicación puede ejecutar código Python arbitrario en su   computadora.

     

Si tiene la depuración deshabilitada o confía en los usuarios de su red, puede   hacer que el servidor esté disponible al público simplemente cambiando la llamada del   El método run() se ve así:

app.run(host='0.0.0.0')
    
respondido por el Marcin Kaminski 01.12.2012 - 21:49
0

Acabo de tener el mismo problema. Para resolverlo, actualicé la forma de ejecutar la aplicación:

 app.run(debug=True,host='0.0.0.0')

Usando host = 0.0.0.0, permítame acceder a mi aplicación a través de mi red local.

    
respondido por el Alex andre 24.02.2018 - 14:14
0

La mejor manera de hacerlo

flask run --host=0.0.0.0
    
respondido por el Hassaan 26.07.2018 - 16:31

Lea otras preguntas en las etiquetas