2016-03-15 2 views
1

J'ai installé RabbitMQ sur Ubuntu 14.04 et je n'arrive pas à me connecter au serveur RabbitMQ à partir d'autres ordinateurs du réseau.Impossible d'accéder au serveur RabbitMQ à partir d'autres clients du réseau en raison d'une erreur d'authentification

Aucun problème de connexion au serveur depuis la machine sur laquelle RabbitMQ est installé, uniquement à partir d'autres ordinateurs du réseau. Indique que «Par défaut, RabbitMQ écoute sur le port 5672 sur toutes les interfaces disponibles».

Lorsque vous essayez de vous connecter à un autre serverusing pika en python, je reçois l'erreur suivante:

ERROR:pika.adapters.base_connection:Socket Error: 104 
ERROR:pika.adapters.base_connection:Socket closed while authenticating indicating a probable authentication error 

J'ai ajouté un nouvel utilisateur avec les permissions set_permissions newuser ".*" ".*" ".*" et ont essayé la méthode d'authentification URI mais je reçois toujours le même erreur.

Je ne peux pas non plus me connecter à la gestion RabbitMQ à partir d'autres ordinateurs du réseau, mais je peux y accéder sur le PC local.

également, en vérifiant les ports ouverts, je peux voir ce qui suit:

tcp  0  0 0.0.0.0:25672   0.0.0.0:*    LISTEN  1122/beam.smp 
tcp  0  0 0.0.0.0:15672   0.0.0.0:*    LISTEN  1122/beam.smp 
tcp6  0  0 :::5672     :::*     LISTEN  1122/beam.smp 

J'utilise le code python des tutoriels de RabbitMQ:

import pika 

connection = pika.BlockingConnection(pika.ConnectionParameters(host='AAA.AAA.AAA.AAA')) 
channel = connection.channel() 

channel.queue_declare(queue='hello') 

channel.basic_publish(exchange='',routing_key='hello',body='Hello World!') 

print(" [x] Sent 'Hello World!'") 

connection.close() 

Qu'est-ce que je manque?

+0

pouvez-vous mettre à jour la question pour inclure le code que vous utilisez pour vous connecter? –

+0

Mise à jour de la question, le code provient de la page tutoriel de RabbitMQ – Greg

Répondre

2

Le code en question ne fournit pas de nom d'utilisateur ou de mot de passe. Vous aurez probablement besoin de mettre à jour vos paramètres de connexion pour inclure les


credentials = pika.PlainCredentials('guest', 'guest') 

parameters = pika.ConnectionParameters('rabbit-server1', 5672, '/', credentials) 

connection = pika.BlockingConnection(params) 

Vérifiez la documentation pour pika, pour plus d'informations: http://pika.readthedocs.org/en/0.10.0/modules/parameters.html?highlight=connectionParameters

En outre, vérifiez pour vous assurer un nom d'utilisateur et mot de passe. le nom d'utilisateur/mot de passe "invité" peut ne pas être activé sur votre serveur

2

Par défaut, RabbitMQ accepte les connexions pour l'utilisateur guest de localhost uniquement. Ceci est expliqué dans le documentation about access control.

Pour autoriser les connexions pour l'utilisateur guest d'hôtes distants, vous devez modifier le paramètre de configuration loopback_users (habituellement dans /etc/rabbitmq/rabbitmq.config sous Unix):

[ 
    {rabbit, [ 
    {loopback_users, []} 
    ]} 
]. 

Vous pouvez en savoir plus sur ce paramètre dans le configuration documentation. Cela dit, attention: cet utilisateur créé par défaut, avec un mot de passe connu faible, a des privilèges d'administration. Donc, changer ce paramètre de configuration comme ceci doit être fait seulement sur un réseau de confiance.