【问题标题】:RabbitMQ Exception 'None of the specified endpoints were reachable'RabbitMQ 异常“指定的端点均不可到达”
【发布时间】:2021-04-09 00:05:31
【问题描述】:

我按照 RabbitMQ 上的教程进行操作,但遇到了创建连接时发生的异常。整个方法如下图:

class Program
{
    static void Main(string[] args)
    {
        var factory = new ConnectionFactory { Uri = new Uri("amqp://guest:guest@localhost:15672/") };
        using var connection = factory.CreateConnection();
        using var channel = connection.CreateModel();
        channel.QueueDeclare("demo-queue",
            durable: true,
            exclusive: false,
            autoDelete: false,
            arguments: null);

        var consumer = new EventingBasicConsumer(channel);
        consumer.Received += (sender, e) =>
        {
            var body = e.Body.ToArray();
            var message = Encoding.UTF8.GetString(body);
            Console.WriteLine(message);
        };
        channel.BasicConsume("demo-queue", true, consumer);
    }
}

在这条线上:using var connection = factory.CreateConnection(); 我收到了这个:

RabbitMQ.Client.Exceptions.BrokerUnreachableException: '没有一个指定的端点是可达的'

还有三个内部异常:

ExtendedSocketException:无法建立连接,因为目标机器主动拒绝了它。 127.0.0.1:15672

ConnectFailureException:连接失败

AggregateException:发生一个或多个错误。 (连接失败)

这个异常的原因是什么? Uri 是错误的还是事先没有正确设置? RabbitMQ 似乎运行良好,因为我可以登录 http://localhost:15672/ 并且它已启动并运行。

提前谢谢你。

编辑:我把 5672 作为 Uri 中的端口,结果是一样的。

【问题讨论】:

  • ampq 和 http 协议不一样。 5672 - 如果设置了默认配置,请尝试此端口
  • 谢谢@Igor。不幸的是,结果还是一样。

标签: .net .net-core rabbitmq console-application messaging


【解决方案1】:

关闭防火墙后,它开始工作了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 2020-11-25
    • 2015-12-02
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 2020-07-20
    • 2019-05-17
    相关资源
    最近更新 更多