2016-04-09 10 views
0

Ich verwende eine Eve-Instanz auf meinem Linux-Webserver, um mir den Zugriff auf eine Datenbank über HTTP zu ermöglichen. Als ich das Skript ausführen, wird die folgende angezeigt:Zugriff auf die Python-Webanwendung aus dem Internet

* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)

lsof -i :5000 Ausbeuten

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME python 11824 root 3u IPv4 10213572 0t0 TCP localhost:5000 (LISTEN)

Versuch http://goodenough.io:5000 zugreifen funktioniert nicht. Ich arbeite mit localhost auf meinem Windows, aber es funktioniert einfach nicht über das Internet.

http://www.yougetsignal.com/tools/open-ports/ zeigt, dass der Port trotz der App Hören und Digital-Ozean geschlossen behauptet, alle Ports standardmäßig geöffnet sind.

Aber meine neue Theorie ist, dass vielleicht mehr externe Anfragen erkannt werden?

Alle Ideen oder Vorschläge wären erstaunlich. Vielen Dank.

+1

Er sagt, läuft auf 'localhost', die interne Loopback-Schnittstelle des Servers - das heißt nicht über das Netzwerk zugänglich. Aktualisieren Sie Ihre Eve-Konfiguration, um die externen IP-Schnittstellen abhören zu können. – isedev

+0

Das ist großartig! Wie mache ich das?? @isedev –

+1

Als Antwort hinzugefügt. – isedev

Antwort

1

in Ihrer Anwendung muss es einige Code wie folgt sein:

app = Eve() 
app.run() 

Diese auf der Loopback-Schnittstelle standardmäßig hören. So hört auf einer bestimmten IP-Adresse (die von außen sichtbare IP in Ihrem Fall), zu verwenden:

app.run(host="X.X.X.X") 

wo X.X.X.X die entsprechende IP ist.

+0

Das war 100% die Antwort. Es läuft wunderbar jetzt! Ich habe das immer nur an meinem lokalen Rechner arbeiten lassen und jetzt weiß ich warum ... –

Verwandte Themen