Я использую rabbitmq для обработки сообщений между моими базами данных для корпоративного приложения, над которым я работаю. Как часть процесса, я пытаюсь помочь автоматизировать настройку серверов (например, скрипт). В этом процессе я попытался использовать rabbitmqadmin
для объявления обменов из командной строки. У меня есть 2 разных сервера, работающих под управлением CentOS 5.x
и CentOS 6.x
, и оба имеют такую же проблему.RabbitMQ Объявить Exchange из терминала - Доступ отказался:/api/exchange/
До сих пор я объявлял пользователя-администратора и задавал его пароль, после чего я установил его тег из тега администратора, а затем я гарантирую, что он имеет права доступа к vhosts. После этого я пытаюсь объявить обмен, с указанным пользователем и паролем, и он терпит неудачу.
rabbitmqctl add_user administrator password
rabbitmqctl set_user_tags administrator administrator
rabbitmqctl set_permissions -p/administrator ".*" ".*" ".*"
rabbitmqctl add_vhost vhostFoo
rabbitmqctl set_permissions -p vhostFoo administrator ".*" ".*" ".*"
rabbitmqadmin -u administrator -p password declare exchange --vhost=vhostFoo name=exchangeNew type=direct
Для 5.x коробки CentOS я должен использовать python26 rabbitmqadmin
вместо просто rabbitmqadmin
, но получить тот же результат.
Последние результаты команды в:
*** Access refused: /api/exchanges/vhostFoo/exchangeNew
И мой CentOS 5.x и 6.x Cent коробки работают RabbitMQ 3.3.5. Любые мысли о том, что мне не хватает, или мысли о том, как я могу получить больше информации о том, что не так (например, файл журнала ошибок или способ получить более подробный вывод)?
По-видимому, rabbitmqadmin теперь требует имя пользователя и пароль для каждой команды, которую мы выбираем для исполнения ... и это хорошо! – kstratis