如何在Node.js中对RabbitMQ进行身份验证? [英] How to authenticate rabbitmq in nodejs?
问题描述
错误:握手已由服务器终止: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屋!