Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何修复mqtt中的混合内容问题?_Javascript_Websocket_Mqtt_Paho_Broker - Fatal编程技术网

Javascript 如何修复mqtt中的混合内容问题?

Javascript 如何修复mqtt中的混合内容问题?,javascript,websocket,mqtt,paho,broker,Javascript,Websocket,Mqtt,Paho,Broker,我需要通过websocket连接到代理 <script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.min.js" type="text/javascript"></script> <script> // Create a client instance client = new Paho.MQTT.Client("broker.hivemq.com"

我需要通过websocket连接到代理

<script src="https://cdnjs.cloudflare.com/ajax/libs/paho-mqtt/1.0.1/mqttws31.min.js" type="text/javascript"></script>
<script>
    // Create a client instance
    client = new Paho.MQTT.Client("broker.hivemq.com", 8000, "" , "gokden");


    // connect the client
    client.connect({onSuccess:onConnect}); 

    function onConnect(){
        console.log("Connected!");
    }

</script>

//创建一个客户端实例
client=new Paho.MQTT.client(“broker.hivemq.com”,8000,”,“gokden”);
//连接客户端
connect({onSuccess:onConnect});
函数onConnect(){
console.log(“已连接!”);
}
这是我的连接代码,但我遇到以下错误:


mqttws31.min.js:36混合内容:“karantinagunlugum.com”上的页面通过HTTPS加载,但尝试连接到不安全的WebSocket端点“ws://broker.hivemq.com:8000/”。此请求已被阻止;此端点必须通过WSS可用。

此处有两个相关但独立的问题

  • broker.hivemq.com不支持Websockets上的安全MQTT(wss://),这就是为什么尝试连接时30秒后连接会关闭的原因
  • 您正在尝试从通过HTTPS加载的页面进行连接。由于浏览器中的安全源策略,安全加载的页面无法连接到不安全的资源,这是第二个错误告诉您的
  • 你有两个选择

  • 关闭站点的HTTPS。这不是一个好主意
  • 设置您自己的代理,支持WebSocket上的安全MQTT

  • 除了基本测试和播放之外,您不应该使用broker.hivemq.com进行任何其他操作,如果您想做任何严肃的事情,您应该为一个正确托管的代理付费或运行自己的代理。

    您是否尝试过不使用SSL?是的,但broker.hivemq.com上的另一个错误是我发现8000端口不使用SSL,因此,这个问题向其他人表示感谢。我使用hivemq,因为正如您所说的,它用于测试。您可以免费推荐Websocket上的任何安全MQTT,或者我必须设置自己的代理吗?