2016-03-24 14 views
0

Ich versuche ein 'Swift All In One'-System auf einer Ubuntu 12.04 VM unter dem folgenden Link einzurichten: http://docs.openstack.org/developer/swift/development_saio.html.
Wenn ich den Befehl auf dem VM:curl: (7) Verbindung zum Host nicht möglich, Verbindung abgelehnt auf openstack swift

curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://127.0.0.1:8080/auth/v1.0 

Es funktioniert gut, aber wenn ich die Adresse „127.0.0.1“ ändern in „192.168.254.129“ (die VM-IP-Adresse) und noch den Befehl auf dem VM, wie:

curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://192.168.254.129:8080/auth/v1.0 

es versagt und Hinweise "Connection refused".
Ich habe versucht, die Firewall auf der VM zu schließen, und es funktioniert auch nicht.
Meiner Meinung nach sollten die beiden Befehle erfolgreich sein oder fehlschlagen, da sowohl "127.0.0.1" als auch "192.168.254.129" auf denselben VM-Computer verweisen.

+0

Welche Firewall (en)? '192.168. *. *' Impliziert, dass du hinter einem Router oder etwas ähnlichem bist. Hat dein Router eine Firewall? Haben Sie die notwendigen Ports auf Ihrem Router weitergeleitet? –

+0

Die Firewall der VM. Ich verwende VMware Workstation 12 pro auf Windows 7 und mache eine Ubuntu VM. – user5440753

+0

scheint, als ob Sie überbrückte Netzwerk verwenden, um Ihre VM zu spawnen, versuchen Sie, Ihre VM mit Host-only-Netzwerk zu verbinden. –

Antwort

0

Es gibt ein paar mögliche Probleme mit den Beispielen Sie Beiträge geschrieben haben:

  1. Der Hafen ist nicht Standard. Das Ändern des Ports kann schwierig sein und zu unerwarteten Ergebnissen führen, abhängig davon, welche Middleware Sie verwenden. Das ist also entmutigt.

  2. Sie sollten die VM für die Verwendung einer dedizierten "Nur-Interne" -Schnittstelle mit statischer IP-Konfiguration konfigurieren. Anstatt die Schnittstelle zu ändern, die der Virtualisierungshost erstellt, ziehe ich es vor, der Schnittstelle, die für das Host-only-Netzwerk (z. B. eth1: 0) erstellt wurde, einen VIP hinzuzufügen.

  3. Wenn es immer noch keine Verbindung herstellt, stellen Sie sicher, dass eine Firewall Verbindungen auf dieser Schnittstelle nicht blockiert. Ubuntu 12.04 verwendet iptables als Standard-Firewall. Stellen Sie entweder sicher, dass der Dienst nicht ausgeführt wird, oder leeren Sie die Eingabefelder (sudo iptables -F INPUT). Wenn das funktioniert, vergessen Sie nicht, die iptables-Konfiguration (sudo service iptables save) zu speichern, damit sie beim Neustart nicht zurückgesetzt wird.

  4. Es scheint, dass Sie versuchen, einen Mandanten mit v1.0-Authentifizierung anzugeben. Dies wird nicht unterstützt. Wenn Sie einen vom Benutzer getrennten Mandanten angeben müssen, müssen Sie v2.0 authentication verwenden. Außerdem sehe ich, dass Sie die veralteten "Storage" -Kopfzeilen verwenden. Wenn Sie die v1.0-Authentifizierung verwenden möchten, wird dringend empfohlen, stattdessen die Header X-Auth-User und X-Auth-Key zu verwenden.

Es ist auch eine gute Idee, die swift command-line client zu überprüfen, zu verwenden, dass der Server korrekt eingerichtet ist. Sobald Sie das wissen, kann die Verwendung von curl nützlich sein, um ein tieferes Verständnis davon zu erhalten, wie das Protokoll funktioniert.

+0

Ich habe die Frage Beschreibung oben aktualisiert, ich führe die beiden Befehle auf der gleichen VM, "127.0.0.1:8080" VS "192.168.254.129:8080". Aber das Ergebnis wird anders. Übrigens verwende ich VMware Workstation 12 pro und verwende den "Nur-Host" -Netzwerkmodus. Ich habe versucht, "sudo ufw disable" und "sudo iptables -F INPUT" auszuführen. – user5440753

+0

Was ist das Ergebnis, wenn Sie nmap installieren und dann nmap 192 ausführen.168.254.129' auf der VM? –

+0

'Host ist aktiv (0,00030s Latenz). Nicht gezeigt: 999 geschlossene Ports PORT STATE SERVICE 80/tcp open http Nmap getan: 1 IP-Adresse (1 Host-up) in 0,10 seconds' – user5440753