Ich habe die neueste Version von RabbitMQ auf einer VPS Debian Linux-Box installiert. Es wurde versucht, sich über Gast / Gast anzumelden, aber die Meldung wurde zurückgegeben. Die Anmeldung ist fehlgeschlagen . Ich habe ein wenig recherchiert und festgestellt, dass es aus Sicherheitsgründen verboten ist, sich per Gast / Gast aus der Ferne anzumelden.
Ich habe auch versucht, Gastanwendungen in dieser Version zu aktivieren, um sich remote anzumelden, indem ich eine rabbitmq.config
Datei manuell erstellt habe (weil die Installation keine erstellt hat) und nur den folgenden Eintrag eingefügt habe
[{rabbit, [{loopback_users, []}]}].
Nach dem Neustart des rabbitmq mit dem folgenden Befehl.
invoke-rc.d rabbitmq-server stop -- to stop
invoke-rc.d rabbitmq-server start -- to start
Es hat mich immer noch nicht mit Gast / Gast angemeldet. Ich habe auch versucht, RabbitMQ unter Windows VPS zu installieren und habe versucht, mich über guest / guest über localhost anzumelden, aber ich erhalte erneut die gleiche Meldung. Die Anmeldung ist fehlgeschlagen .
Stellen Sie mir auch eine Quelle zur Verfügung, aus der ich versuchen kann, die alte Version von RabbitMQ zu installieren, die die Remote-Protokollierung über Gast / Gast unterstützt.
rabbitmq-server
direkt zu starten . Wenn dies fehlschlägt, versuchen Sie, nützliche Informationen in der Protokolldatei zu finden. Unter Ubuntu befindet sich die Protokolldatei in/var/log/rabbitmq/
.Antworten:
Ich hatte das gleiche Problem ..
Ich habe auch RabbitMQ und Enabled Web Interface installiert, konnte mich aber immer noch nicht mit einem neu erstellten Benutzer anmelden. Dies liegt daran, dass Sie Administrator sein müssen, um darauf zugreifen zu können.
Erstellen Sie keine Konfigurationsdatei und spielen Sie damit herum.
Das habe ich damals gemacht,
Fügen Sie einen neuen / neuen Benutzer hinzu, sagen Sie Benutzer
test
und Passworttest
:Gewähren Sie dem neuen Benutzer Administratorzugriff:
Berechtigung für neu erstellten Benutzer festlegen:
Das war's, viel Spaß :)
quelle
management
erforderlich ist, um sich bei der Weboberfläche anmelden zu können. Tagadministrator
ist eine erweiterte Version dermanagement
Berechtigung rabbitmq.com/management.html#permissionsIch habe auf Debian die gleiche Konfiguration mit den folgenden Schritten versucht:
Als ich versuchte mich anzumelden, hatte ich den gleichen Fehler:
Also habe ich eine
rabbitmq.config
Datei ( klassische Konfigurationsdatei ) im/etc/rabbitmq
Verzeichnis mit folgendem Inhalt erstellt (beachten Sie den letzten Punkt):Alternativ kann stattdessen eine
rabbitmq.conf
Datei ( neue Konfigurationsdatei ) im selben Verzeichnis mit folgendem Inhalt erstellt werden:Dann habe ich den
invoke-rc.d rabbitmq-server start
Befehl ausgeführt und sowohl die Konsole als auch der Java-Client konnten eine Verbindung mit den Gast- / Gastanmeldeinformationen herstellen:Ich denke, Sie haben ein anderes Problem, wenn dieses Verfahren nicht funktioniert. Beispielsweise kann Ihr RabbitMQ die Konfigurationsdatei möglicherweise nicht lesen, wenn Sie aus irgendeinem Grund die
RABBITMQ_CONFIG_FILE
Umgebungsvariable geändert haben .quelle
Dies ist eine neue Funktion seit der Version 3.3.0. Sie können sich nur mit guest / guest auf localhost anmelden. Für die Protokollierung von anderen Computern oder auf IP müssen Sie Benutzer erstellen und die Berechtigungen zuweisen. Dies kann wie folgt erfolgen:
quelle
Für andere Leute, die Ansible für die RabbitMQ-Bereitstellung verwenden, habe ich das
rabbitmq_user
Modul verpassttags: administrator
Hier ist meine funktionierende Ansible-Konfiguration zum Neuerstellen eines "Gast" -Benutzers (für Entwicklungsumgebungszwecke tun Sie dies nicht in der Produktionsumgebung):
- name: Create RabbitMQ user "guest" become: yes rabbitmq_user: user: guest password: guest vhost: / configure_priv: .* read_priv: .* write_priv: .* tags: administrator force: yes # recreate existing user state: present
und ich musste auch eine Datei
/etc/rabbitmq/rabbitmq.config
einrichten, die Folgendes enthielt:[{rabbit, [{loopback_users, []}]}].
um sich mit "guest" / "guest" von außerhalb von localhost anmelden zu können
quelle
Hinweis: Überprüfen Sie, ob Ihr PORT 15672 ist! (Version> 3.3) wenn 5672 nicht funktioniert
Überprüfen Sie zunächst die "oben gewählte Antwort":
und wenn die Verbindung immer noch nicht funktioniert, überprüfen Sie, ob Ihr Port korrekt ist!
Für mich funktioniert dieser Befehl:
Überprüfen Sie für die abgeschlossenen Ports Folgendes: Welche Ports verwendet RabbitMQ?
Überprüfen Sie Folgendes , um Ihren rabbit mq-Server zu überprüfen: Überprüfen Sie die Version von rabbitmq
ps
Nachdem ich den "Test" -Benutzer erstellt und ausgeführt habe
set_user_tags
,set_permissions
kann ich keine Verbindung zu rabbitmq über Port 5672 herstellen, aber ich kann eine Verbindung über 15672 herstellen.Port 15672 gibt mir jedoch immer eine "leere Antwort". und mein Code funktioniert nicht mehr.
Also ungefähr 5 Minuten später wechselte ich zu 5672, alles funktionierte!
Sehr verdrahtetes Problem. Ich habe keine Zeit tiefer zu graben. Also habe ich es hier für jemanden geschrieben, der die gleichen Probleme hat.
quelle
Ich hatte das gleiche Problem. Ich habe versucht, was von Gas vorgeschlagen wurde, und "invoke-rc.d rabbitmq-server start" ausgeführt, es wurde nicht gestartet. Ich habe versucht, den Server neu zu starten, und das Webui hat mit dem Gastbenutzer zusammengearbeitet. Möglicherweise musste nach dem Hinzufügen der Datei rabbitmq.config noch etwas anderes gestartet werden.
Ich habe rabbitmq Version 3.5.3 verwendet.
Noch etwas zu beachten: Wenn Sie eine AWS-Instanz verwenden, müssen Sie den eingehenden Port 15672 öffnen. (Der Port für RabbitMQ-Versionen vor 3.0 ist 55672.)
quelle
Die Schüler und ich starrten eine Stunde lang auf dieses Problem. Stellen Sie sicher, dass Sie Ihre Dateien korrekt benannt haben. Im
/etc/rabbitmq
Verzeichnis befinden sich zwei unterschiedliche Dateien. Es gibt eine/etc/rabbitmq/rabbitmq.config
Datei, die Sie bearbeiten sollten, um die Loopback-Benutzer wie beschrieben zu erhalten, aber es gibt eine andere Datei namensrabbitmq-env.conf
Datei. Viele Leute verwendeten die Tab-Vervollständigung und fügten nur "ig" hinzu, was nicht die richtige Datei ist. Überprüfen!quelle
Manchmal benötigen Sie kein Komma, das standardmäßig in der Konfigurationsdatei enthalten ist. Wenn unter dem Kaninchen-Tag nichts anderes konfiguriert ist, wird beim Starten des Brokers ein Absturz angezeigt
Wie {loopback_users, []} verbringe ich viele Stunden damit, dies zu vergessen und später das Komma zu entfernen. Es gilt für alle anderen Konfigurationen, einschließlich SSL
quelle
Versuchen Sie, Ihren rabbitmq neu zu starten und sich erneut anzumelden, damit ich arbeite.
quelle
#Erstellen Sie die Datei rabbitmq.conf mit
rabbitmq.conf
Dockerfile:
Lauf:
Überprüfen Sie, ob die Datei rabbitmq.conf korrekt kopiert wurde.
quelle
Für eine etwas andere Verwendung, aber möglicherweise nützlich für alle, die zu Überwachungszwecken auf die API zugreifen: Ich kann bestätigen, dass die Antwort von @ Oliboy50 gut funktioniert. Stellen Sie jedoch sicher, dass Sie sie für jeden vhost aktivieren, den der Benutzer verwenden soll Monitor, wie:
Mit dieser Schleife konnte ich den Fehler "401 Unauthorized" überwinden, wenn ich die API für einen beliebigen vhost verwendete.
quelle
Wenn Sie die Protokolldatei unter Info-Bericht überprüfen, erhalten Sie diese.
Ändern Sie die Berechtigung für die Konfigurationsdatei mit dem folgenden Befehl und melden Sie sich dann mit guest an. Dies funktioniert
sudo chmod 777 /etc/rabbitmq/rabbitmq.config
quelle
Standardmäßig ist es dem Gastbenutzer untersagt, eine Verbindung von Remote-Hosts herzustellen. Es kann nur eine Verbindung über eine Loopback-Schnittstelle (dh localhost) hergestellt werden. Dies gilt für Verbindungen unabhängig vom Protokoll. Alle anderen Benutzer werden auf diese Weise (standardmäßig) nicht eingeschränkt.
Oder im klassischen Konfigurationsdateiformat (rabbitmq.config):
Siehe unter "Gast" Benutzer kann nur von localhost eine Verbindung herstellen
TIPP: Es ist ratsam, den Gastbenutzer zu löschen oder zumindest sein Kennwort in einen einigermaßen sicheren generierten Wert zu ändern, der der Öffentlichkeit nicht bekannt ist.
quelle