我如何解决 mqtt 中的混合内容问题?
How can i fix Mixed Content issue in 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 个相关但独立的问题。
- broker.hivemq.com 不支持通过 Websockets (wss://) 的安全 MQTT,这就是当您尝试连接时连接在 30 秒后关闭的原因
- 您正在尝试从通过 HTTPS 加载的页面进行连接。由于浏览器中的安全源策略,安全加载的页面无法连接到不安全的资源,这是第二个错误告诉你的。
你有2个选择
- 为您的站点关闭 HTTPS。这不是个好主意。
- 设置您自己的支持安全 MQTT over Websockets 的代理。
除了基本的测试和播放之外,您真的不应该将 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>
这是我的连接代码,但出现此错误:
mqttws31.min.js:36 混合内容:'karantinagunlugum.com' 的页面是通过 HTTPS 加载的,但试图连接到不安全的 WebSocket 端点 'ws://broker.hivemq.com:8000/'。此请求已被阻止;此端点必须可通过 WSS 使用。
这里有 2 个相关但独立的问题。
- broker.hivemq.com 不支持通过 Websockets (wss://) 的安全 MQTT,这就是当您尝试连接时连接在 30 秒后关闭的原因
- 您正在尝试从通过 HTTPS 加载的页面进行连接。由于浏览器中的安全源策略,安全加载的页面无法连接到不安全的资源,这是第二个错误告诉你的。
你有2个选择
- 为您的站点关闭 HTTPS。这不是个好主意。
- 设置您自己的支持安全 MQTT over Websockets 的代理。
除了基本的测试和播放之外,您真的不应该将 broker.hivemq.com 用于任何其他用途,如果您想做任何严肃的事情,您应该支付适当托管的经纪人或 运行 您的拥有。