Kolben - Wie man eine app extern sichtbar über einen router?

Die Frage in kurzen

Wie führen Sie eine einfache Kolben-basierte website im internet sichtbar, von einem host-PC, die den Zugriff auf das internet von einem WLAN-router?

Frage details

Ich würde gerne eine flask Anwendung, die im internet sichtbar ist, wie pro Quickstart Guide.

Wenn ich starten Sie den einfachen Kolben-app unten, wird es zugänglich von einem computer im selben Netzwerk wie der host-pc, aber nicht von einem Gerät über das internet verbunden über ein anderes Netzwerk.

Das problem wird ähnlich diskutiert hier und hier, mit dem zusätzlichen element, das von einem Heim-pc zu suggerieren scheint, dass externe verbindungen Punkt-zu-xx-port des Routers, nicht die xx-port des host-pc, so wird vorgeschlagen, in den Kommentaren in dieser Beitrag.

, Was ich Tat

Verweisen auf den code unten, hier ist was ich getan habe:

  • Überprüft meine Die IP-Adresse in der Systemsteuerung
  • deaktiviert alle Netzwerk-Schutz in der antivirus -
  • ausführen "ipconfig /all", das auf einem windows-Rechner
  • öffnete schließlich einen browser in einem Gerät mit einem Netzwerk verbunden und richtete es auf die entsprechende IP:port Adresse

Das Ergebnis ist, dass "Die Webseite ist nicht verfügbar".

Hat jemand begegnet das gleiche problem? Ist das ein router Problem?

Referenz-Kolben-app

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(host= '0.0.0.0', port=9000, debug=False)
  • Router sind speziell hergestellt, um zu verhindern, dass diese Art von Verhalten und halten Sie Ihre home-Anschluss von der Außenwelt geschützt werden. Sie könnten in der Lage sein, einen workaround finden, aber man sollte Sie nicht.
  • Zum einrichten des Routers für das weiterleiten von Anfragen an den port 9000 auf die IP des Rechners, auf dem die Kolben-app
  • Warum würden Sie wollen, dies zu tun? Ich würde empfehlen die Einrichtung einer Website, auf Heroku für etwas so trivial, wie dieses.
  • Wahrscheinlich nur Herumspielen, nichts falsch mit dem lernen auf die harte Weise 🙂
  • Wenn Sie interessiert sind zu lernen, dann lernen, wie zu implementieren Heroku oder AWS wird wahrscheinlich von mehr, als die öffnung Ihrer Heim-PC zum internet.
  • Danke für die Kommentare. Einigen Kontext, dies sind die ersten prototyping-Experimente in einem Wechsel von desktop-basierten GUIs (vor allem PyQt) zu web-apps. Also ja, müssen lernen, wie zu implementieren Heroku. Heimcomputer war eine einfache Umgebung für eine Reihe von Gründen (vor allem lokalen Zugriff auf die db, und keine Kenntnisse von cloud-basierten services)

InformationsquelleAutor Pythonic | 2015-05-14
Schreibe einen Kommentar