2014-01-09 2 views
5

Ich verwende Eve, um eine REST API für MongoDB zu erstellen. Es funktioniert alles gut, außer der Tatsache, dass ich die API von keinem anderen Computer (im selben Netzwerk) oder sogar einer anderen URL erreichen kann (zB: wenn ich SERVER_NAME = 'localhost: 29000' setze, werde ich nicht in der Lage sein, die API mit 127.0.0.1 zu erreichen und umgekehrt).Kann Eve REST API nicht erreichen

Ich habe mich stundenlang umgesehen, und ich kann keine Antwort finden. Ich habe auch andere REST-APIs für MongoDB wie Kule versucht, und sie scheinen gut zu funktionieren, aber sie haben nicht so viele Optionen wie Eve hat.

+0

Versuchen Binden der Buchse '0.0.0.0' statt' 127.0.0.1' funktionieren sollte - die ehemaligen Mittel „alle Schnittstellen ", Letzteres bindet es nur an localhost. –

+0

Leider hat es nicht funktioniert. Das Seltsame ist aber, dass es immer sagt: "Running on http://127.0.0.1:29000", egal welche IP Adresse ich einfüge (der Port ändert sich). – Timon

+0

Eves 'SERVER_NAME' scheint auf der gleichnamigen Konfigurationsvariablen von Flask zu basieren: Siehe" More on server name "unter der Tabelle in [Flask Configuration docs] (http://flask.pocoo.org/docs/) config/# builtin-configuration-values). Es handelt sich also nur um den Namen (Hostname/Subdomain-Behandlung) - die tatsächlichen Netzwerkschnittstellen, an die er gebunden ist, werden wahrscheinlich von dem Server bestimmt, auf dem die WSGI-Anwendung ausgeführt wird. Wie bedienen Sie Ihre Bewerbung? –

Antwort

7

Eve SERVER_NAME der scheint mit dem gleichen Namen von Flask auf die Konfigurationsvariable zu basieren: Siehe „Mehr auf Servernamen“ unter dem Tisch in den Flask Configuration docs. Es handelt sich also nur um den Namen (Hostname/Subdomain-Behandlung) - die tatsächlichen Netzwerkschnittstellen, an die er gebunden ist, werden wahrscheinlich von dem Server bestimmt, auf dem die WSGI-Anwendung ausgeführt wird.

Wenn Sie nur die aus dem Quickstart Beispiel

app = Eve() 
app.run() 

tun, versuchen

app.run(host='0.0.0.0') 

statt und lassen Sie die Servernamen empty (SERVER_NAME = '').

Ich habe noch nie Eve verwendet, aber von dem, was ich über zu verstehen, wie es gebaut, dass

+2

+1, um mich daran zu erinnern, dem Quickstart-Beispiel eine 'host = 0.0.0.0'-Notiz hinzuzufügen. Hatten andere Leute zuvor die gleichen Probleme. –

+1

Abgesehen davon, Docs sind hervorragend von dem, was ich gewesen bin. Definitiv wird Eve für die Zukunft im Auge behalten :) –

+0

Ich habe das Web für mehrere Stunden gegraben, um nach Problemen im Zusammenhang mit Kolben zu suchen. Ich habe nicht erwartet, dass es sich um eine Flasche-Abend-Ausgabe handelt. Du hast mich gerettet – vladblindu