RabbitMQ和程序运行在同一台电脑上可以使用guest账号访问
如果不在同一台电脑,就会报错
RabbitMQ.Client.Exceptions.BrokerUnreachableException:“None of the specified endpoints were reachabl
需要添加一个新用户,guest账号只能本地登陆
命令行添加方式(来自:https://blog.csdn.net/qq_45760401/article/details/125134766)
通过 guest 只能本地访问 localhost:15672/,并不能实现远程访问,所以当远程访问时,需要添加新用户才能访问。 1、进入 RabbitMQ 的 sbin 目录,打开 cmd 2、输入 rabbitmqctl add_user myRoot 123 创建一个叫 myRoot 密码 123 的用户 3、输入 rabbitmqctl set_user_tags myRoot administrator 设置用户为管理员 4、输入 rabbitmqctl add_vhost VHOST 创建一个叫 VHOST 的虚拟用户目录 5、rabbitmqctl set_permissions -p VHOST myRoot ".*" ".*" ".*" 为用户设置权限 到这里,就可以通过 目标ip:15672/ 访问远程 rabbitmq 了,前提是从你这里的电脑到目标服务器中途的所有防火墙都允许15672端口的访问,如果是在阿里云上面的服务器,那么不仅需要打开服务器的端口,还需要打开阿里云的端口 6、如果是在程序代码里使用 rabbitmq,还需要打开所有防火墙的 5672端口,因为 rabbitmq 的默认监听端口是 5672,网页管理的端口是 15672,这两个端口不能混为一谈。 最后:由于编文的时间是晚上接近于 12:00 左右,上面的命令可能会存在输错的现象,如果发现错误,请以下图为准。
界面添加方式:
1 首先创建一个新的账户 并给上Administrator标签
2 然后给这个新账户添加虚拟主机访问权限
当然也可以新建一个Virtual Hosts,给新建用户赋权限(Set permission)
3 同样记得开放相关端口(15672、5672),程序使用的是5672端口,远程web管理使用15672端口。
var factory = new ConnectionFactory() { HostName = optionMQ.HostName, Port = optionMQ.Port, VirtualHost = optionMQ.VirtualHost, DispatchConsumersAsync = true }; if(optionMQ.UserName!=null) { factory.UserName = optionMQ.UserName; } if (optionMQ.Password != null) { factory.Password = optionMQ.Password; } //factory.Port = 5672; //factory.VirtualHost = "VH01";
如果想远程使用guest登录,则在rabbitmq.config 做如下修改 (未测试,也不建议)
[{rabbit, [{loopback_users, []}]}].
而对于自己创建的用户名和密码,默认可以通过远程进行访问。
集群配置可以看看这篇文章:https://blog.csdn.net/Asia1752/article/details/104097890
分类:
RabbitMQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?