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

Hyperledger Blockchain Explorer报SSL3_GET_RECORD版本错误如何修复?

修复Hyperledger Blockchain Explorer的SSL版本握手错误

我之前也碰到过一模一样的SSL握手问题,这个错误本质是Explorer的Node.js环境和Fabric节点使用的TLS版本不匹配导致的。下面是亲测有效的解决步骤:

1. 强制Node.js使用兼容的TLS版本

Hyperledger Fabric从1.4版本开始就默认使用TLS 1.2,而部分旧版Node.js可能默认启用了更低的SSL版本。你可以在启动Explorer时临时强制指定TLS最小版本:

NODE_OPTIONS="--tls-min-v1.2" node main.js

如果这个方法有效,建议把这个环境变量加到Explorer的启动脚本里,避免每次手动输入。

2. 修正Explorer的连接配置

打开Explorer的config.json或者对应的Fabric连接配置文件(通常在connection-profiles目录下),确保以下配置正确:

  • 每个peer和orderer的tls属性设置为true
  • 正确配置tlsCACerts.path,指向Fabric节点生成的合法根证书文件(比如crypto-config/peerOrganizations/xxx.com/peers/peer0.xxx.com/tls/ca.crt)
  • 添加"ssl-target-name-override": "<你的节点域名>"(比如peer0.org1.example.com),这个配置可以解决域名不匹配导致的SSL验证失败问题

3. 确保Node.js和依赖包版本兼容

  • 先检查Node.js版本,运行node -v,Hyperledger Fabric和Explorer推荐使用LTS版本(比如14.x或16.x),如果你的版本低于12.x,建议升级到兼容的LTS版本。
  • 检查grpc和fabric-network等核心依赖的版本,确保和你的Fabric版本匹配(比如Fabric 2.x需要对应版本的fabric-network)。可以运行npm list grpc fabric-network查看当前版本,然后更新:
npm install grpc@<兼容版本> fabric-network@<兼容版本> --save

如果更新后仍有问题,删除node_modules文件夹和package-lock.json,重新执行npm install,确保依赖安装干净。

4. 验证Fabric节点的TLS配置

有时候问题出在Fabric节点这边,你可以用openssl测试节点的TLS 1.2支持情况:

openssl s_client -connect peer0.org1.example.com:7051 -tls1_2

如果连接成功并返回证书信息,说明节点的TLS配置正常;如果失败,需要修改Fabric节点的配置文件(比如peer.yaml或orderer.yaml),在TLS部分设置:

TLS:
  Enabled: true
  MinVersion: TLSv1.2
  Cert:
    Path: <节点证书路径>
  Key:
    Path: <节点密钥路径>
  RootCAs:
    - <根证书路径>

修改后重启Fabric节点,再重新测试连接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:31:03