如何在Node.js中对RabbitMQ进行身份验证? [英] How to authenticate rabbitmq in nodejs?

查看:182
本文介绍了如何在Node.js中对RabbitMQ进行身份验证?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Error: Handshake terminated by server: 403 (ACCESS-REFUSED) with message "ACCESS_REFUSED - Login was refused using authen tication mechanism PLAIN. For details see the broker logfile." I tried authMechanism individually ('PLAIN', 'AMQPLAIN', 'EXTERNAL') but i'm getting same error. Unable to create connection with 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中启用日志?

Where can i see log file in rabbit mq or how enable logs in rabbitMQ?

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

Is it right way to create connection? Is there any setting in rabbitMQ server?

推荐答案

在接收方使用以下代码

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;

这篇关于如何在Node.js中对RabbitMQ进行身份验证?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆