
Ich versuche, einen einfachen Flask-Server auf einer Ubuntu-VM auszuführen.
Ich kann mich mit per SSH anmelden [email protected]
, aber bei der Ausführung curl 123.456.789:8000
tritt ein Operations-Timeout auf, obwohl der Server zuhört:
* Serving Flask app "app.py"
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:8000/ (Press CTRL+C to quit)
Meine iptables -vnL
Ausgabe sieht folgendermaßen aus:
Chain INPUT (policy ACCEPT 11434 packets, 8571K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8000
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 7590 packets, 4856K bytes)
pkts bytes target prot opt in out source destination
Port 8000 sollte also funktionieren. lsof
Ich kann es auch sehen:
flask 16268 robin 3u IPv4 167958 0t0 TCP 127.0.0.1:8000 (LISTEN)
Ich habe das noch nie wirklich gemacht, also könnte es ein dummer Fehler sein, aber fällt Ihnen noch etwas ein, was hier falsch sein könnte?
Antwort1
Die Python/Flask-App lauscht auf 127.0.0.1 und beschränkt daher den Zugriff auf den lokalen Host.
Lassen Sie es auf der spezifischen IP oder auf 0.0.0.0 lauschen, je nachdem, was Sie benötigen.