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


    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,这两个端口不能混为一谈。
        
        最后:由于编文的时间是晚上接近于 1200 左右,上面的命令可能会存在输错的现象,如果发现错误,请以下图为准。

     界面添加方式

    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

  • 相关阅读:
    express开发实例
    node.js操作mongoDB数据库
    Mysql JDBC Url参数说明useUnicode=true&characterEncoding=UTF-8
    Hibernate 使用说明
    mysql 时间戳与日期格式的相互转换
    MOOC即Massive Open Online Course的缩写
    CentOS+Apache+php无法访问redis的解决方法
    CentOS 6.5下Redis安装详细步骤
    Linux进程基础
    CentOS如何查看端口是被哪个应用/进程占用
  • 原文地址:https://www.cnblogs.com/djd66/p/16820766.html
Copyright © 2020-2023  润新知