RabbitMQ 服务器抛出错误,但在本地它工作正常
本文关键字:工作 服务器 出错 错误 RabbitMQ | 更新日期: 2023-09-27 17:57:16
Setup:
- 公共交通版本:2.10
- 兔子Mq客户端:3.4.3.0
- RabbitMq 服务器:3.5.3(使用默认端口和配置)
- 二郎 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 服务器安装在我的本地设置中是相同的? 权限问题? 防火墙问题?
我在测试中观察并验证了;公共交通不允许从URI输入创建vhost。RabbitMQ 很可能会抛出相同的错误。
要解决此问题,请在 rabbitmq 服务器中手动创建虚拟主机和队列。
附言。我知道,这和问的问题不一样。
可以通过代码创建队列,但不能通过虚拟主机创建队列。因此,您必须手动创建虚拟主机,并授予通过代码访问的适当权限。