当前位置:首页 > 计算机相关 > Windows > 正文内容

Windows Hub 连接 OpenClaw TLS Gateway 报 Transport Error 排查与修复

我想静静2个月前 (08-21)Windows181

问题现象

Windows Hub 通过 wss:// 连接局域网内 OpenClaw Gateway 时,报 Transport error,无法建立连接。

环境

  • Debian 服务器:192.168.0.9,运行 OpenClaw Gateway,端口 18789,TLS 已开启(自签证书)
  • Windows PC:Windows 10 LTSC 2021(21H2),安装 OpenClaw Windows Hub
  • 网络:同一局域网(192.168.0.x)

根本原因

排查发现是 TLS 协议版本不兼容:

  • OpenClaw Gateway 硬编码 minVersion: "TLSv1.3",只接受 TLS 1.3 连接
  • Windows 10 19044(21H2)的 schannel 对 TLS 1.3 支持不完整,即使手动启用注册表和 Internet 选项中的 TLS 1.3(实验),curl 测试仍报 SEC_E_ALGORITHM_MISMATCH
  • Windows 10 LTSC 2021 无法安装 TLS 1.3,只能降级服务端 TLS 版本至 1.2

排查过程

步骤操作结果
1导入自签证书到 Windows 受信任根证书颁发机构证书信任问题解决,但连接仍失败
2重新生成包含 IP SAN 的证书(IP.1 = 192.168.0.9)证书验证通过,但连接仍失败
3用 curl.exe -k -v https://192.168.0.9:18789 测试报 SEC_E_ILLEGAL_MESSAGE,握手失败
4Debian 上用 openssl s_client -tls1_2 测试报 tlsv1 alert protocol version,确认网关只接受 TLS 1.3
5在 OpenClaw 源码中搜索找到 gateway-D7pGc7Ge.js 中 minVersion: "TLSv1.3"

解决方案

修改 OpenClaw 的 TLS 最低版本为 1.2:

# 1. 备份原文件
cp /root/.nvm/versions/node/v24.19.0/lib/node_modules/openclaw/dist/gateway-D7pGc7Ge.js    /root/.nvm/versions/node/v24.19.0/lib/node_modules/openclaw/dist/gateway-D7pGc7Ge.js.bak

# 2. 修改 minVersion
sed -i 's/minVersion: "TLSv1.3"/minVersion: "TLSv1.2"/'    /root/.nvm/versions/node/v24.19.0/lib/node_modules/openclaw/dist/gateway-D7pGc7Ge.js

# 3. 验证修改
grep -n 'minVersion' /root/.nvm/versions/node/v24.19.0/lib/node_modules/openclaw/dist/gateway-D7pGc7Ge.js

# 4. 重启 OpenClaw
pkill -f openclaw

注意事项

  • 升级后需重新修改:OpenClaw 升级后会覆盖修改,升级后需重新执行上述 sed 命令
  • 证书需包含 IP SAN:否则 Windows 会因证书与 IP 不匹配而拒绝连接。生成证书时需在配置中包含:
[alt_names]
IP.1 = 192.168.0.9
  • 证书导入位置:Windows 的「受信任的根证书颁发机构」(Cert:\LocalMachine\Root),不是当前用户
  • 配置文件证书路径:注意 OpenClaw 配置(openclaw.json)中指定的实际证书路径,本文案例中是 /root/.openclaw/tls/server.crt,与证书生成脚本输出路径可能不一致

涉及的证书路径(本文案例)

路径用途
/root/.openclaw/tls/server.crtOpenClaw 实际加载的证书(配置中指定)
/root/.openclaw/tls/server.keyOpenClaw 实际加载的私钥
/root/.openclaw/gateway/tls/gateway-cert.pem另一处证书位置(非实际使用)

验证命令

# Debian 上验证 TLS 1.2 可连接
openssl s_client -connect 192.168.0.9:18789 -tls1_2

# Windows 上验证 TLS 1.2 可连接
curl.exe --tlsv1.2 -k -v https://192.168.0.9:18789

如果 curl 返回 HTTP 200 和 HTML 内容,说明 TLS 握手成功,Windows Hub 即可正常连接。

扫描二维码推送至手机访问。

版权声明:如需转载请注明出处。

本文链接:https://www.1688fs.net/index.php/post/106.html

分享给朋友:

“Windows Hub 连接 OpenClaw TLS Gateway 报 Transport Error 排查与修复” 的相关文章

win10ltsc无法通过网上邻居,SMB协议访问batocera的share目录。

win10ltsc无法通过网上邻居,SMB协议访问batocera的share目录。

这些系统访问匿名共享,特别是QNAP NAS等设备上的匿名SMB共享,会提示“Windows找不到\\xxxxxx 请检查拼写并重试”。这是因为从Win10开始(包括与Win10同时代的2016/2019等服务器系统),默认限制了“不安全的来宾登录”。可以通过组策略或者注册表来修改该设置。组策略:计...

Windows 7 企业版 SP1 中使用 KMS 激活的命令

Windows 7 企业版 SP1 中使用 KMS 激活的命令

首先安装 KMS 客户端密钥(企业版默认已内置 VL 密钥,若需手动指定可执行):slmgr.vbs /ipk 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH(注:33PXH-7Y6KF-2VJC9-XBBR8-HVTHH 是 Windows 7 企业版的通用 KMS...

用于基于 KMS 和 Active Directory 的 Office、Project 和 Visio 激活的 GVLK

用于基于 KMS 和 Active Directory 的 Office、Project 和 Visio 激活的 GVLK

适用于:Office LTSC 2024、Office LTSC 2021、Office 2019 和 Office 2016 的批量许可版本,包括 Project 和 Visio默认情况下,批量许可版本的 Office(如 Office LTSC 2024)随通用批量许可证密钥 (GVLK) 一起...

windows10自动识别版本批量KMS激活命令,批处理程序代码

windows10自动识别版本批量KMS激活命令,批处理程序代码

把下面的代码复制下来,保存为".bat"格式的文件,比如在桌面保存为“激活.bat”,右键-管理员身份运行。@echo off echo ============================================== echo Wi...