我在这里不知所措,所以我正在接触集体知识,希望有一个奇迹。
我使用默认设置在Linux机器上安装了RabbitMQ。
当我使用此代码(以及默认的RabbitMQ安装配置)时,一切都很顺利。
var connectionFactory = new ConnectionFactory();
connectionFactory.HostName = "192.168.0.12";
IConnection connection = connectionFactory.CreateConnection();
但是当我向RabbitMQ添加用户并尝试使用以下代码时(用户名和密码已被更改以保护无辜。:))
var connectionFactory = new ConnectionFactory();
connectionFactory.HostName = "192.168.0.12";
connectionFactory.UserName = "user";
connectionFactory.Password = "password";
IConnection connection = connectionFactory.CreateConnection();
connectionFactory.CreateConnection()
方法抛出以下异常:
BrokerUnreachableException
None of the specified endpoints were reachable
检查RabbitMQ日志文件我可以看到它抱怨凭据:
{amqp_error,access_refused,
"PLAIN login refused: user 'user' - invalid credentials",
'connection.start_ok'}}
问题在于我对用户名和密码充满信心,而我对编码的热爱无法在任何地方找到解决方案。
我必须遗漏一些明显的东西,但我无法弄清楚它是什么。 对于任何有用的指示,我将不胜感激。
答案 0 :(得分:32)
答案 1 :(得分:5)
接受的答案对我不起作用(在Windows上)。
我必须安装管理工具:
rabbitmq-plugins enable rabbitmq_management
N.B。 rabbitmq-plugins位于C:\ Program Files(x86)\ RabbitMQ Server \ rabbitmq_server-3.3.1 \ sbin
然后,重新启动RabbitMQ服务。
然后我在包管理器中在Visual Studio中安装了EasyNetQ:
install-package easynetq
安装完成后,我可以使用位于以下位置的管理网站:
http://localhost:15672
N.B。默认用户名和密码是:guest
从这里,我选择了管理标签,原因在屏幕顶部清晰显示为黄色:
This user does not have permission to access any virtual hosts.
Use "Set Permission" below to grant permission to access virtual hosts.
要解决此问题,我只需按下同一屏幕上的设置权限按钮等。
N.B。为此,您需要使用 rabbitmqctl add_user用户名密码或类似的方式添加用户(rabbitmqctl也在上面的目录中)。
答案 2 :(得分:5)
以下是如何使用密码agent
创建名为agent
的用户,将其设置为administrator
并授予其read
和write
访问权限vhost /
rabbitmqctl add_user agent agent
rabbitmqctl set_user_tags agent administrator
rabbitmqctl set_permissions -p / agent ".*" ".*" ".*"