RabbitMQ:指定的端点都无法到达?

aoyhnmkz  于 2023-02-16  发布在  RabbitMQ
关注(0)|答案(1)|浏览(525)

尝试使用Mastransit向RabbitMQ发布消息,但失败。
我看了一些关于这个问题的文章,但是没有一个有具体的答案。我尝试了不同的方法来格式化连接字符串,硬编码等等,但是似乎没有什么效果。
如果我只是通过浏览器连接到应用程序之外,一切都很好。
但在我的应用程序中,它就是无法连接?

[09:09:46 WRN] Connection Failed: rabbitmq://{host}:15672/
RabbitMQ.Client.Exceptions.BrokerUnreachableException: None of the specified endpoints were reachable
 ---> System.IO.IOException: connection.start was never received, likely due to a network timeout

我把它注册为:

serviceCollection.AddMassTransit(x =>
        {
            x.UsingRabbitMq((rabbitContext, rabbitConfig) =>
            {
                rabbitConfig.Host(new Uri("amqps://{host}:15672/"), h =>
                {
                    h.Username("admin");
                    h.Password("...");
                });
                        
                rabbitConfig.ConfigureEndpoints(rabbitContext);
                rabbitConfig.Durable = true;
            });
        });

如果我只是使用RabbitMQ库,它也连接得很好,所以Masstransit似乎是这里的问题?
/var/log/rabbitmq/rabbit@mg.log似乎只通过管理面板记录失败的连接,至少它不记录失败的应用程序连接。

nr9pn0ug

nr9pn0ug1#

检查您是否使用了正确的网络端口。端口15672是 * 基于Web的管理控制台 * 的默认端口,它与MassTransit需要连接的端口 * 不是 * 同一个端口。对于普通AMQP,默认端口为 5672,对于TLS保护的AMQP,默认端口为 5671
要确认您的RabbitMQ服务器正在侦听哪些端口,以及您的Web服务器可以访问它们,请参见this troubleshooting guidethe answers to this question

相关问题