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

Blazor使用MQTTnet连接HiveMQ时WS/WSS协议适配故障

Blazor部署GitHub Pages后HiveMQ WSS连接修复方案

问题根源

GitHub Pages强制使用HTTPS,浏览器会拦截HTTPS站点发起的WS明文连接,必须改用WSS加密连接。HiveMQ公共代理的WS明文端口是8000,仅适用于本地HTTP调试;对应的WSS加密端口为8884,之前用8000端口加TLS配置自然无法建立连接。

修正代码

mqttClientOptions = new MqttClientOptionsBuilder()
                    .WithClientId(ClientID)
                    .WithWebSocketServer("broker.hivemq.com:8884/mqtt")
                    .WithTls(options =>
                    {
                        // 公共代理证书可能存在环境信任问题,临时跳过验证确保连接
                        options.CertificateValidationCallback = (_, __, ___, ____) => true;
                    })
                    .Build();

var result = await mqttClient.ConnectAsync(mqttClientOptions, CancellationToken.None);

关键说明

  • 端口区分:8000是HiveMQ公共代理的WS明文端口,仅本地HTTP调试可用;8884是WSS加密端口,适配HTTPS生产环境
  • TLS验证:生产环境建议不要直接跳过证书验证,可通过导入信任证书解决;公共测试场景用回调跳过即可快速连通
  • 本地调试兼容:本地用HTTP运行Blazor时,仍可保留原8000端口不加TLS的配置,无需修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 12:11:03