2016-03-15 2 views
1

Я установил RabbitMQ на Ubuntu 14.04, и я не могу подключиться к серверу RabbitMQ с других компьютеров в сети.Не удалось получить доступ к серверу RabbitMQ от других клиентов в сети из-за ошибки аутентификации

Нет проблем с подключением к серверу с компьютера, на котором установлен RabbitMQ, только с других компьютеров в сети.

This page утверждает, что «По умолчанию RabbitMQ будет прослушивать порт 5672 на всех доступных интерфейсах».

При попытке подключения с другим serverusing пищухи в Python, я получаю следующее сообщение об ошибке:

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

Я добавил новый пользователь с правами set_permissions newuser ".*" ".*" ".*" и попытался метод аутентификации URI, однако я по-прежнему получать такая же ошибка.

Я также не могу подключиться к управлению RabbitMQ с других компьютеров в сети, но могу получить к нему доступ на локальном компьютере.

Кроме того, путем проверки открытых портов, я могу увидеть следующее:

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 

Я использую код питона из учебников 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() 

Что мне не хватает?

+0

Вы можете обновить вопрос, включив код, который вы используете для подключения? –

+0

Обновлен вопрос, код находится на странице руководства RabbitMQ – Greg

ответ

2

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


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

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

connection = pika.BlockingConnection(params) 

Проверьте документацию для пищуха, для получения дополнительной информации: http://pika.readthedocs.org/en/0.10.0/modules/parameters.html?highlight=connectionParameters

Кроме того, проверьте, чтобы иметь правильное имя пользователя и пароль. «гость» имя пользователя/пароль не может быть активирован на вашем сервере

2

По умолчанию RabbitMQ принимает соединения для пользователя guest только с локального хоста. Это объясняется в documentation about access control.

Чтобы разрешить соединения для guest пользователя с удаленных хостов, вам необходимо изменить параметр конфигурации loopback_users (обычно в /etc/rabbitmq/rabbitmq.config на Unix):

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

Вы можете прочитать больше об этом параметре в configuration documentation.

Это, пожалуйста, будьте осторожны: этот пользователь, созданный по умолчанию со слабым известным паролем, имеет права администратора. Поэтому изменение этого параметра конфигурации, как это, должно выполняться только в доверенной сети.

 Смежные вопросы

  • Нет связанных вопросов^_^