2
我试图连接我的RabbitMQ服务器,它被迫使用SSL,并且使用用户和密码进行保护。以前,我成功地从C#,PHP和Python应用程序连接到此服务器。如何连接节点的amqplib与ssl连接?
这是我的Node.js代码:
const amqp = require('amqplib');
const fs = require('fs');
const config = {...}
const opts = {
ca: [fs.readFileSync(config.certificatePath)]
};
const url = `amqps://${config.username}:${config.password}@${config.hostname}:${config.port}`;
const open = amqp.connect(url, opts);
open.then(function(conn) {
console.log('connected.');
}).then(null, console.warn);
我得到的错误是:无法获取本地颁发者证书
1)是什么错误呢?
2)我需要做什么才能连接?
注意:在library's ssl guide它被写为“(必须)提供一个选项对象,将传递到tls.connect()
”。 我不明白这个指令,也没有使用tls.connect()
的例子。我尝试了一些变化,但失败了,也许它会给这里的某个人提供线索。
在你的情况'config.certificatePath'这是正在使用服务器的证书文件? –
其实我试过这两种方法。一个尝试使用相同的证书,另一个尝试使用不同的证书。 –