首页 > 解决方案 > fabric-ca-client 注册时出现错误无法读取请求的响应:POST http://localhost:7054

问题描述

我签出项目 fabric-samples 并运行文件 startFabric.sh 以启动 Fabric 区块链网络。
之后,我运行node enrollAdmin.js注册新管理员
现在,我想使用fabric-ca-client的命令行向org1添加一个新用户。我执行以下命令:

  1. 访问 ca_peerOrg1 docker
    docker exec -it ca_peerOrg1 bash

  2. 我检查
    $FABRIC_CA_CLIENT_HOME未设置的值
    $FABRIC_CA_HOME/etc/hyperledger/fabric-ca-server

  3. 转到/etc/hyperledger/fabric-ca-server目录并检查命令
    fabric-ca-client

    在此处输入图像描述
  4. 并运行此命令 fabric-ca-client enroll -u http://admin:adminpw@localhost:7054
    但出现以下错误:

在此处输入图像描述

任何人都可以帮忙吗?谢谢阅读

标签: hyperledger-fabrichyperledger-fabric-ca

解决方案


我刚刚遇到了同样的问题。对于任何感兴趣的人,此错误表明 fabric-ca-server 正在运行并启用了 TLS。

要消除此错误,您需要对fabric-ca-client命令进行以下更改:

  • 在 url 中使用 https 而不是 http
  • 在 url 中使用 ca 主机名而不是 localhost
  • 通过提供服务器监听端口的 TLS 证书文件--tls.certfile

例如fabric-ca-client enroll -u https://admin:adminpw@ca.org0.example.com:7054 --tls.certfiles /certs/ca/ca.org0.example.com-cert.pem

TLS 证书文件是由 fabric-ca-server 在启动时生成的。默认文件位置是$FABRIC_CA_SERVER_HOME/tls-cert.pem. 否则,位置由$FABRIC_CA_SERVER_TLS_CERTFILEor指定fabric-ca-server-config.yaml


推荐阅读