代码之家  ›  专栏  ›  技术社区  ›  WoJ

如何在Mosquetto和JS中使用安全的Web套接字?

  •  0
  • WoJ  · 技术社区  · 7 年前

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

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

    对此,我添加了 /etc/mosquitto/mosquitto.conf 的条目 certfile keyfile :

    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
    

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

    client = new Paho.MQTT.Client("10.10.10.10", 1884, Math.random().toString(16).substring(7))
    

    并且没有看到要在此处传递的任何其他配置?

    1 回复  |  直到 7 年前
        1
  •  1
  •   hardillb    7 年前

    docs

    您有多种选择:

    1. 这个 host 声明新客户端时,可以是URI,而不仅仅是ip/主机名

      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
       });