如何在nodejs中对Rabbitmq进行身份验证?

时间:2018-07-11 06:19:45

标签: rabbitmq rabbitmq-exchange

错误:服务器终止了握手:403(ACCESS-REFUSED),消息为“ ACCESS_REFUSED-使用身份验证拒绝登录 解冻机制有关详细信息,请参阅代理日志文件。” 我分别尝试了authMechanism('PLAIN','AMQPLAIN','EXTERNAL'),但是我遇到了同样的错误。 无法与RabbitMQ建立连接

var raabitmqSettings = {
    protocol: 'amqp',
    hostname: '10.250.18.31',
    port: 5672,
    username: 'sam',
    password: 'sam@123',     
    vhost: '/',
    authMechanism: ['PLAIN', 'AMQPLAIN', 'EXTERNAL']
}

amqp.connect(raabitmqSettings, function(err, conn) {
    conn.createChannel(function(err, ch) {
         console.log("\n\n" + ch);
    }   
}

我在哪里可以看到Rabbit MQ中的日志文件,或者如何在RabbitMQ中启用日志?

建立连接是否正确? rabbitMQ服务器中有任何设置吗?

1 个答案:

答案 0 :(得分:0)

在接收方使用以下代码

const open = await amqp.connect(setting);        
    var ch = await open.createChannel();
    await ch.assertExchange("cronService", "direct");
    var q = 'CronQueue';
    ch.assertQueue(q, { durable: true });
    ch.consume(q, async function(msg) {            
        console.log(" [x] Received %s", msg.content.toString());            
    }, { noAck: true });
    return something;