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



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

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

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

您有 2 种选择

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

除了基本的测试和播放之外,您不应该真的将 broker.hivemq.com 用于任何其他事情,如果您想做任何严肃的事情,您应该为正确托管的经纪人付费或运行自己的经纪人。

相关内容

  • 没有找到相关文章

最新更新