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

无法连接Mosquitto的WSS服务,请求故障排查与解决

解决Paho MQTT客户端无法连接Mosquitto WSS服务的问题

可能的原因及解决方案

1. TLS版本过低被浏览器拦截

你的Mosquitto配置中指定了tls_version tlsv1,但现代浏览器已禁用不安全的TLS 1.0协议,运行在浏览器环境的Paho客户端会受此限制。而MQTTX作为桌面客户端可能允许旧版本TLS,因此能正常连接。

解决方法:
修改Mosquitto配置文件,将TLS版本升级至至少TLS 1.2:

tls_version tlsv1.2

修改后重启Mosquitto服务。

2. 证书与IP不匹配导致验证失败

若你的SSL证书是为域名签发的,客户端用IP(172.20.108.159)连接时会触发证书名称不匹配错误,浏览器会直接阻止WebSocket连接。MQTTX可能默认跳过了证书验证,因此可以正常连接。

解决方法:

  • 测试环境:临时关闭Paho客户端的证书验证(仅用于测试,生产环境禁止):
    client.connect({
      useSSL: true,
      sslOptions: {
        rejectUnauthorized: false
      }
    });
    
  • 生产环境:重新生成包含该IPv4地址(172.20.108.159)的SAN(Subject Alternative Name)证书,确保证书的主体备用名称包含该IP,再替换Mosquitto中的证书文件。

3. 查看Mosquitto日志定位精确错误

开启Mosquitto的详细日志,能直接找到连接失败的具体原因:
在Mosquitto配置中添加:

log_dest file C:/Program Files/mosquitto/mosquitto.log
log_type all

重启服务后查看日志文件,里面会记录连接请求的失败细节(如证书错误、TLS握手失败等)。

4. 检查浏览器控制台的详细错误信息

除当前的连接失败提示外,打开浏览器安全面板(Chrome:F12 → 安全标签),查看WSS连接相关的证书或TLS详细错误,这能直接指出问题核心。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 03:37:44