如何使用带有mosquitto和JS的安全Web套接字?

时间:2018-04-11 12:20:00

标签: javascript websocket mqtt mosquitto paho

我在JS中有一个前端,在mosquitto的帮助下连接到MQTT服务器(Paho JavaScript Client)。这很好,我可以发布和听主题。

我现在想将Web套接字连接推广到安全的连接。

为此,我在safeInit (x:xs) = case safeInit xs of Just init_xs -> Just $ x : init_xs Nothing -> Just [] safeInit [] = Nothing 添加了/etc/mosquitto/mosquitto.confcertfile的条目:

keyfile

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

pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
listener 1883
listener 1884
protocol websockets
# above is the working, non-wss configuration
certfile /etc/mosquitto/wildcard.crt
keyfile /etc/mosquitto/wildcard.key

并且在这里看不到任何其他配置?

1 个答案:

答案 0 :(得分:1)

来自docs

您有几种选择:

  1. 声明新客户端时host可以是URI而不仅仅是ip / hostname

    client = new Paho.MQTT.Client("wss://10.10.10.10:1884", Math.random().toString(16).substring(7));
    
  2. 您可以使用useSSL选项对象中的client.connect(options)标记。

    client.connect({
      useSSL: true
     });