Flask Webserver nicht im Heimnetz verfügbar

  • Hey,

    ich will für meine Heimautomatisierung einen Flask Webserver aufsetzen, welcher im Heimnetz aufrufbar sein soll. Ich kann ihn bisher aber nur lokal auf dem Pi aufrufen. Deswegen habe ich zum testen einen Standard Flask Webserver aufgesetzt und ihn laufen lassen, hier lässt sich aber auch nicht im Heimnetz auf ihn zugreifen. Hier der Code:

    Die Get anfragen kommen vom lokalen aufrufen auf dem PI, wenn ich es über meinen PC versuche erscheinen keine Get anfragen. Die IP-Adresse ist die richtige(abfrage mit ifconfig und in Fritzbox), auch wenn ich als Port 0.0.0.0 eingebe funktioniert es nicht. Meine Eingabe im Browser(http://192.168.178.101:5000/)

    Wenn ich den Server auf meinem PC starte kann ich ohne Probleme von jedem Gerät im Netzwerk darauf zugreifen. Muss ich am Pi irgendwelche Einstellungen vornehmen(Ports öffnen) oder kann es sein das meine FritzBox für den Pi falsche Einstellungen hat.

    Danke für eure Hilfe!

  • Hi,

    schön wäre, wenn du den Code hier in Code-Blocks posten könntest.

    Das geht mit den </> - Button.

    Das debug muss False sein.

    Ich meine irgendwo gelesen zu haben das, wenn der Debugger an ist, du nur lokal auf die Seite zugreifen kannst. Ich finde es nur gerade nicht.

  • from flask import Flask

    app = Flask(__name__)

    @app.route('/')
    def index():
    return 'Hello world'

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

    Hier der Code so wie du es beschrieben hast.

    Ich habe den Debugger auf False gesetzt aber der Server lässt sich immer noch nicht erreichen.

  • hier lässt sich aber auch nicht im Heimnetz auf ihn zugreifen

    Die Get anfragen kommen vom lokalen aufrufen auf dem PI, wenn ich es über meinen PC versuche erscheinen keine Get anfragen.

    Die Doku sagt dazu:

    Externally Visible Server

    If you run the server you will notice that the server is only accessible
    from your own computer, not from any other in the network. This is the
    default because in debugging mode a user of the application can execute
    arbitrary Python code on your computer.

    If you have the debugger disabled or trust the users on your network,
    you can make the server publicly available simply by adding
    --host=0.0.0.0 to the command line:

    $ flask run --host=0.0.0.0

    This tells your operating system to listen on all public IPs.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!