首页 > 其他分享 >RabbitMQ.Client.Exceptions.BrokerUnreachableException:“None of the specified endpoints were reachabl

RabbitMQ.Client.Exceptions.BrokerUnreachableException:“None of the specified endpoints were reachabl

时间:2022-10-24 10:55:46浏览次数:69  
标签:reachabl None 15672 端口 factory RabbitMQ 5672 optionMQ were

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";
  

 

标签:reachabl,None,15672,端口,factory,RabbitMQ,5672,optionMQ,were
From: https://www.cnblogs.com/djd66/p/16820766.html

相关文章