使用TLS的node.js mqtt客户端

我正在尝试使用以下软件包使用TLS实现node.js mqtt客户端;

https://www.npmjs.com/package/mqtt#client

在不使用TLS的情况下运行mqtt客户端的代码如下;

var mqtt = require('mqtt')

var client = mqtt.connect('mqtt://test.mosquitto.org')

client.on('connect', function () {

client.subscribe('presence')

client.publish('presence', 'Hello mqtt')

})

client.on('message', function (topic, message) {

// message is Buffer

console.log(message.toString())

client.end()

})

应该如何修改以上代码以在mqtt客户端上使用TLS?

mosca MQTT代理是使用以下命令独立运行的;

mosca --key ./tls-key.pem --cert ./tls-cert.pem --http-port 3000 --http-bundle --http-static ./ | pino

回答:

应该足以protocol将URL 的一部分更改为mqtts://

mqtts://test.mosquitto.org

connect使用自签名证书时,可以将以下选项传递给函数(仅用于测试目的):

mqtt.connect('mqtts://test.mosquitto.org', {

rejectUnauthorized: false

});

以上是 使用TLS的node.js mqtt客户端 的全部内容, 来源链接: utcz.com/qa/398276.html

回到顶部