RabbitMQ 服务器抛出错误,但在本地它工作正常

本文关键字:工作 服务器 出错 错误 RabbitMQ | 更新日期: 2023-09-27 17:57:16

Setup:

  1. 公共交通版本:2.10
  2. 兔子Mq客户端:3.4.3.0
  3. RabbitMq 服务器:3.5.3(使用默认端口和配置)
  4. 二郎 17.5

我可以访问 RabbitMQ Web 管理客户端,并能够在本地使用 rabbitMQ。问题部署在数据中心。

代码:

 ServiceBusFactory.New(sbc =>
        {
            sbc.UseRabbitMq(r => r.ConfigureHost(new Uri("rabbitmq://actual-server-name/queue-name"), h =>
            {
                h.SetUsername("username");
                h.SetPassword("password");
            }));
            sbc.ReceiveFrom("rabbitmq://actual-server-name/queue-name");
            sbc.Subscribe(x => x.LoadFrom(container));
        });

我收到异常错误:它来自MassTransit.Exceptions.MassTransitException。当你从 RabbitMQ 本身挖掘它内部时。

RabbitMQ.Client.Exceptions.BrokerUnreachableException:没有指定的端点可访问。

System.IO.Exception:从未收到 connection.start,可能是网络超时。在 Masstransit.ServiceContainer.cs 行: 63

为什么它会抛出错误;因为 rabbitmq 服务器安装在我的本地设置中是相同的? 权限问题? 防火墙问题?

RabbitMQ 服务器抛出错误,但在本地它工作正常

我在测试中观察并验证了;公共交通不允许从URI输入创建vhost。RabbitMQ 很可能会抛出相同的错误。

要解决此问题,请在 rabbitmq 服务器中手动创建虚拟主机和队列。

附言。我知道,这和问的问题不一样。

可以通过代码创建队列,但不能通过虚拟主机创建队列。因此,您必须手动创建虚拟主机,并授予通过代码访问的适当权限。