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

ThingsBoard 3.2.2切换HTTPS后最新遥测不显示及握手报错咨询

问题解答

1. 切换HTTPS后设备最新遥测为空的原因

从提供的服务日志可确认,你推送的遥测数据已经成功写入数据库(TS Latest队列的totalSaved为17,totalFailed为0),数据本身没有丢失。页面看不到数据的核心原因是ThingsBoard前端依赖WebSocket协议实现遥测数据的实时更新,升级HTTPS后WebSocket握手失败,前端无法接收服务端的实时数据推送,因此展示为空。如果手动刷新页面能看到历史遥测数据,即可完全确认是该问题导致。

2. 报错「Handshake failed due to invalid Upgrade header: null」的含义及解决方法

报错含义

这是WebSocket握手阶段的典型错误:WebSocket协议要求客户端发起握手请求时必须携带Upgrade: websocket、Connection: Upgrade等专用请求头,你的HTTPS反向代理(Nginx/Apache等)没有将这些请求头透传给后端的ThingsBoard服务,导致ThingsBoard收到的请求中Upgrade头为空,拒绝了握手请求。

解决方法

根据你使用的反向代理服务调整配置即可:

  • 若使用Nginx作为反向代理,在对应站点的location配置块中新增以下配置:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;

配置修改后执行nginx -s reload重载配置即可生效。

  • 若使用Apache作为反向代理,在站点配置中新增以下规则:
RewriteEngine On
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteCond %{HTTP:Connection} upgrade [NC]
RewriteRule ^/?(.*) "ws://127.0.0.1:8080/$1" [P,L]

配置修改后重启Apache服务即可。

配置生效后刷新前端页面,WebSocket会自动重新握手,遥测数据即可正常实时展示,日志中的报错也会消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 14:18:02