rabbitmq учетная проблема.работает только с localhost - PullRequest
0 голосов
/ 11 июня 2018

У меня вопрос по поводу rabbitmq.Я пытаюсь настроить систему обмена сообщениями, основанную на имени очереди, и пока все было хорошо с localhost.Как только я устанавливаю некоторые учетные данные для локального соединения, я получаю сообщение об ошибке тайм-аута.(Я также увеличил время ожидания.) Я также дал пользователю административные привилегии и привилегии администратора гостевой учетной записи.Я получаю эту ошибку, когда запускаюсь с использованием сценария потребления и производства.Порт 5672 также открыт.Все это делается на машине Ubuntu 14.04 LTS и Python 2.7.14.Гость и мой другой пользователь кролика также могут использовать vhost по умолчанию.

import pika, json

credentials = pika.credentials.PlainCredentials('guest', 'guest')
connection = pika.BlockingConnection(pika.ConnectionParameters('<ip here>', 
5672, '/', credentials))
channel = connection.channel()

result = channel.queue_declare(queue='hello', durable=True)  

def callback(ch, method, properties, body):
        print "localhost received %r" % json.loads(body)


channel.basic_consume(callback,
                  queue='hello')


print 'localhost waiting for messages. To exit press CTRL+C'
channel.start_consuming()
channel.close()

Вот и мое сообщение об ошибке.Просто метод тайм-аута, который заставил бы меня думать, что соединение не устанавливается, и это проблема сети, но когда я заменяю свой ip в учетных данных на «localhost», все работает нормально.Есть идеи?

pika.exceptions.ConnectionClosed: Connection to <ip here>:5672 failed: timeout

1 Ответ

0 голосов
/ 11 июня 2018

Команда RabbitMQ отслеживает список рассылки rabbitmq-users и только иногда отвечает на вопросы по StackOverflow.


Возможно, вы столкнулись с несколькими проблемами.

Прежде всего, пользователь guest может подключаться только через localhost по умолчанию. Этот документ подробно описан.ПОЭТОМУ этот документ является первым попаданием, когда site:rabbitmq.com localhost guest используются в качестве поисковых терминов в Google.

Второе, timeout означает, что не удается установить TCP-соединение.Пожалуйста, смотрите этот документ для пошагового руководства по диагностике.

...