[英]node.js mqtt client using TLS
我正在尝试使用以下软件包使用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
应该足以将URL的protocol
部分更改为mqtts://
mqtts://test.mosquitto.org
。
自签名证书
使用自签名证书时,可以将以下选项传递给connect
函数(仅用于测试目的):
mqtt.connect('mqtts://test.mosquitto.org', {
rejectUnauthorized: false
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.