如何解决mqtt中的混合内容问题?

问题描述 投票:0回答:1

我需要通过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>

这是我的连接代码,但出现此错误:

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

javascript websocket mqtt paho broker
1个回答
1
投票

您在这里有2个相关但独立的问题。

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

您有2个选择

  1. 关闭您网站的HTTPS。这不是一个好主意。
  2. 设置您自己的代理,该代理通过Websockets支持Secure MQTT。

除了基本的测试和播放之外,您不应该真正使用broker.hivemq.com做任何其他事情,如果您想做任何严肃的事情,则应该为适当托管的经纪人付费,也可以自己经营。

© www.soinside.com 2019 - 2024. All rights reserved.