如何通过 paho mqtt js 客户端强制进行非安全连接?

How to force non secure connection via paho mqqt js client?

当浏览器尝试连接到我在 Firefox 中的 mosquitto 服务器时,我在暂存阶段遇到了这个错误,但在开发阶段却没有:

SecurityError: The operation is insecure.

我不是 运行 带 ssl 的系统,我知道我应该解决这个问题,但暂时我想让它工作。

  function mqtt() {
    // Create a client instance
    client = new Paho.MQTT.Client('localhost', 9091, "", "tablet_1");
    // set callback handlers
    client.onConnectionLost = onConnectionLost;
    client.onMessageArrived = onMessageArrived;
    client.reconnect = true
    willMessage = new Paho.MQTT.Message("Rescue me");
    connectOptions = {
        userName: 'server',
        password: '1234',
        // willMessage: willMessage,
        onSuccess:onConnect,
        cleanSession: true,
        reconnect: true,
        useSSL: false
    }
    // connect the client
    client.connect(connectOptions);
  }

这是我在 mosquitto 中的端口配置:

listener 1883
listener 8883
cafile ca.crt
certfile server.crt
keyfile server.key
tls_version tlsv1.2

listener 9091
protocol websockets

如评论中所述,当通过 https 加载主机页面时,浏览器会阻止 none 安全内容。

您可以通过点击 URL 栏中的盾牌强制混合内容,但这不是正确的做法。

正确的解决办法是 运行 HTTPS/TLS 无处不在(甚至 dev/staging)。