2015-08-09 16 views
15

Ich lese die Flask-Dokumentation. Mir wurde gesagt, dass ich mit app.run(host='0.0.0.0') den Server öffentlich verfügbar machen könnte.Was bedeutet "app.run (host = '0.0.0.0')" in Flask

Was bedeutet das? Wie kann ich den Server auf einem anderen Computer (nur localhost:5000 in meinem eigenen Computer) besuchen?

+0

0.0.0.0 gleich alle Schnittstellen zu binden. Sonst binde nur eine (10.0.0.4) – dsgdfg

+0

Aber du müsstest den Port deines Routers an deinen Dev-Rechner weiterleiten und der Welt deine öffentliche IP-Adresse geben (normalerweise bedeutet das, dass du einen Domainnamen über DNS anzeigst). –

Antwort

8

Um auf Ihre zweite Frage zu antworten. Sie können einfach die IP-Adresse des Computers eingeben, auf dem Ihre flask-App ausgeführt wird, z. 192.168.1.100 in einem Browser auf andere Maschine auf dem gleichen Netzwerk und Sie sind da. Sie können jedoch nicht darauf zugreifen, wenn Sie sich in einem anderen Netzwerk befinden. Firewalls oder VLANs können Probleme beim Erreichen Ihrer Anwendung verursachen. Wenn dieser Computer über eine öffentliche IP-Adresse verfügt, können Sie diese IP-Adresse von jedem Ort auf dem Planeten aus erreichen, und Sie können die App erreichen. Normalerweise kann dies eine gewisse Konfiguration erfordern, da die meisten öffentlichen Server hinter einer Art Router oder Firewall stehen.

+0

Aber ich kann nicht auf einer anderen Maschine besuchen ... – Ding

+0

Ich habe die Firewall geschlossen. Meine externe IP-Adresse ist 115.XXX.XXX.XXX, Ich besuchte http://115.XXX.XXX.XXX:5000 auf einem anderen Computer. Es hat nicht funktioniert. – Ding

+0

Richten Sie nginx (oder einen anderen Webserver) ein und verbinden Sie Ihre interne IP, z. '192.168.1.100' zum Webserver. Für nginx überprüfen Sie hier: http://nginx.org/en/docs/http/ngx_http_upstream_module.html. Lass es mich wissen, wenn du einen Stapel bekommst. – ipinak