RabbitMQ 3.3.1 не может войти с гостевой/гостевой

Я установил последнюю версию RabbitMQ в поле VPS Debian Linux. Пытался получить логин через гостя/гостя, но вернулся с сообщением сбой входа. Я сделал небольшое исследование и обнаружил, что по соображениям безопасности он запрещен для входа в систему через гостя/гостя удаленно.

Я также попытался включить гостевые приложения в этой версии для удаленного входа в систему, создав файл rabbitmq.config вручную (поскольку установка не создала его) и помещая только следующую запись

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

после перезапуска rabbitmq с помощью следующей команды.

invoke-rc.d rabbitmq-server stop -- to stop
invoke-rc.d rabbitmq-server start -- to start

Он по-прежнему не ввел меня в систему с гостями/гостями. Я также попытался установить RabbitMQ на Windows VPS и попытался войти в систему через гостя/гость через localhost, но снова я получил одно сообщение сбой входа.

Также предоставьте мне источник, где я мог бы попробовать установить старую версию RabbitMQ, которая поддерживает удаленную запись через гостевой/гостевой сервер.

Ответ 1

У меня такая же проблема..

Я также установил RabbitMQ и Enabled Web Interface, но по-прежнему не мог войти ни с каким пользователем, которого я недавно создал, это потому, что для доступа к нему вам нужно быть администратором.

Не создавайте конфигурационный файл и не связывайтесь с ним..

Это то, что я сделал тогда,

  1. Добавьте нового/нового пользователя, скажем, пользовательский test и test пароль:

    rabbitmqctl add_user test test
    
  2. Предоставьте административный доступ новому пользователю:

    rabbitmqctl set_user_tags test administrator
    
  3. Установить разрешение для вновь созданного пользователя:

    rabbitmqctl set_permissions -p / test ".*" ".*" ".*"
    

Вот оно, наслаждайся :)

Ответ 2

Я попробовал на Debian ту же конфигурацию со следующими шагами:

  1. Установлен RabbitMQ.
  2. Включен плагин веб-управления (не обязательно).

Когда я попытался войти, у меня была та же самая ошибка:

enter image description here

Поэтому я создал файл rabbitmq.config (классический файл конфигурации) в каталоге /etc/rabbitmq со следующим содержимым (обратите внимание на последнюю точку):

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

Кроме того, вместо этого можно создать файл rabbitmq.conf (новый файл конфигурации) в том же каталоге со следующим содержимым:

loopback_users = нет

Затем я выполнил команду invoke-rc.d rabbitmq-server start и консоль и клиент Java смогли подключиться с использованием учетных данных guest/guest:

enter image description here

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

Ответ 3

Это новые функции с версии 3.3.0. Вы можете войти только с помощью гостя/гостя на localhost. Для ведения журнала с других компьютеров или по IP вам придется создавать пользователей и назначать разрешения. Это можно сделать следующим образом:

rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"

Ответ 4

обратите внимание: проверьте ваш порт 15672! (версия> 3.3), если 5672 не работает

Прежде всего, проверьте "выбранный ответ выше":

rabbitmqctl add_user test test
rabbitmqctl set_user_tags test administrator
rabbitmqctl set_permissions -p / test ".*" ".*" ".*"

и если все еще не удается установить соединение, проверьте, правильно ли настроен ваш порт!

для меня эта команда работает:

$ rabbitmqadmin -H 10.140.0.2 -P 15672 -u test -p test list vhosts
+------+----------+
| name | messages |
+------+----------+
| /    |          |
+------+----------+

для завершенных портов проверьте следующее: Какие порты использует RabbitMQ?

чтобы проверить ваш кролик mq сервер, проверьте это: Проверьте версию rabbitmq

п.с.

Для меня, после того как я создал "тестового" пользователя и запустил set_user_tags, set_permissions, я не могу подключиться к rabbitmq через порт 5672. но я могу подключиться через 15672.

Однако порт 15672 всегда дает мне "пустой ответ". и мой код перестает работать.

так минут через 5 я перешел на 5672, все заработало!

Очень запутанная проблема. У меня нет времени копать глубже. поэтому я записал это здесь для кого-то, кто сталкивался с такими же проблемами.

Ответ 5

У меня была та же проблема. Я пробовал то, что было предложено Gas и запускал "invoke-rc.d rabbitmq-server start", и он не запускался. Я попытался перезагрузить сервер, и webui работал с гостевым пользователем. Возможно, после добавления файла rabbitmq.config нужно было еще что-то еще.

Я использовал версию rabbitmq версии 3.5.3.

Еще одно замечание: если вы используете экземпляр AWS, вам нужно открыть входящий порт 15672. (Порт для версий RabbitMQ до 3.0 - 55672.).

Ответ 6

Студенты и я смотрели на эту проблему в течение часа. Убедитесь, что вы правильно назвали свои файлы. В каталоге /etc/rabbitmq есть два разных файла. Существует файл /etc/rabbitmq/rabbitmq.config, который вы должны отредактировать, чтобы получить пользователей loopback, как описано, но есть еще один файл с именем rabbitmq-env.conf. Многие люди использовали вкладку завершения и просто добавили "ig", что не является правильным файлом. Двойная проверка!

Ответ 7

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

как  {loopback_users, []}, я трачу много раз на это, забыв об этом, а затем удаляя запятую, он применим ко всем другим конфигурациям, включая SSL

Ответ 8

для других парней, которые используют Ansible для обеспечения RabbitMQ, то, что я пропустил для модуля rabbitmq_user было tags: administrator

Вот моя рабочая конфигурация Ansible для воссоздания "гостевого" пользователя (для целей среды разработки не делайте этого в производственной среде):

- 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

и мне также пришлось установить файл /etc/rabbitmq/rabbitmq.config содержащий следующее:

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

для того, чтобы иметь возможность войти в систему с помощью "гостя"/"гостя" извне localhost

Ответ 9

Попробуйте перезагрузить ваш rabbitmq и войти снова, для меня работа.

Ответ 10

Для немного другого использования, но может быть полезно для любого, кто имеет дело с доступом к API для целей мониторинга: я могу подтвердить, что ответ, данный @Oliboy50, работает хорошо, однако убедитесь, что вы включаете его для каждого vhost, который вы хотите, чтобы пользователь мог монитор, такой как:

      permissions:
    - vhost: "{{item.name}}"
      configure_priv: .*
      write_priv: .*
      read_priv: .*
  state: present
  tags: management
with_items: "{{user_system_users}}"

С помощью этого цикла я смог обойти ошибку "401 Unauthorized" при использовании API для любого vhost.

Ответ 11

Если вы проверите файл журнала в информационном отчете, вы получите это.

'config file(s) : /etc/rabbitmq/rabbitmq.config (not found)'. 

Измените разрешение файла конфигурации, используя приведенную ниже команду, затем войдите в систему с помощью гостя, это будет работать

sudo chmod 777/etc/rabbitmq/rabbitmq.config