You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Paho MQTT时浏览器返回“操作不安全”错误求助

解决网页MQTT连接hivemq代理“操作不安全”的问题
  • 问题核心:如果你的网页是通过HTTPS协议访问的(比如GitHub Pages部署的站点),浏览器的安全策略会拦截混合内容——也就是HTTPS页面发起非加密的HTTP类连接。broker.hivemq.com的8000端口是基于ws://的非加密WebSocket服务,不符合HTTPS页面的安全要求,所以Firefox会提示“操作不安全”,Edge也会基于同样的策略阻止连接。

  • 修复步骤:

    1. 改用hivemq代理的加密WebSocket端口(8883),使用wss://协议建立连接
    2. 在MQTT客户端的连接配置中开启SSL选项
  • 代码调整示例:
    原连接代码(错误):

    const client = new Paho.MQTT.Client("broker.hivemq.com", 8000, "your-client-id");
    

    修改后:

    const client = new Paho.MQTT.Client("broker.hivemq.com", 8883, "your-client-id");
    

    连接时启用SSL:

    client.connect({
      useSSL: true,
      // 其他必要配置(公共代理可留空用户名密码)
      onSuccess: () => {
        console.log("连接成功");
      },
      onFailure: (err) => {
        console.error("连接失败", err);
      }
    });
    
  • 补充说明:如果是本地用HTTP协议打开网页(比如localhost:8080或直接打开本地HTML文件),原本的ws://8000端口可以正常使用,但部署到HTTPS环境必须切换到wss://加密连接。另外hivemq公共代理有并发连接限制,若仍无法连接可检查客户端ID是否重复,或换用其他公共MQTT代理。

内容的提问来源于stack exchange,提问作者backslash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 11:24:55