Javascript 如何将安全的Web套接字与MOSQUITO和JS一起使用?

Javascript 如何将安全的Web套接字与MOSQUITO和JS一起使用?,javascript,websocket,mqtt,mosquitto,paho,Javascript,Websocket,Mqtt,Mosquitto,Paho,我在JS中有一个前端,在的帮助下连接到MQTT服务器。这很好,我可以发表和收听主题 我现在想将Web套接字连接升级为安全连接 为此,我在/etc/mosquitto/mosquitto.conf中添加了certfile和keyfile的条目: 如果这是正确的配置,我如何在JS中创建一个考虑安全连接的客户端?对于现有的一个,我有 client = new Paho.MQTT.Client("10.10.10.10", 1884, Math.random().toString(16).substri

我在JS中有一个前端,在的帮助下连接到MQTT服务器。这很好,我可以发表和收听主题

我现在想将Web套接字连接升级为安全连接

为此,我在/etc/mosquitto/mosquitto.conf中添加了certfile和keyfile的条目:

如果这是正确的配置,我如何在JS中创建一个考虑安全连接的客户端?对于现有的一个,我有

client = new Paho.MQTT.Client("10.10.10.10", 1884, Math.random().toString(16).substring(7))
并且没有看到要在此处传递的任何其他配置

您有几个选择:

声明新客户端时的主机可以是URI,而不仅仅是ip/主机名

client = new Paho.MQTT.Client("wss://10.10.10.10:1884", Math.random().toString(16).substring(7));
您可以在client.connectoptions对象中使用useSSL标志

client.connect({
  useSSL: true
 });

我尝试了第一个选项,但最终被用作ws://wss://10.10.10.10:1844/mqtt 这是不正确的。我错过了DOCZ中的第二个选项-谢谢!那么这就是一个bug,你应该提出一个问题或者检查你是否有最新的版本
client.connect({
  useSSL: true
 });