hyperledger-fabric - fabric-ca-client 注册时出现错误无法读取请求的响应:POST http://localhost:7054
问题描述
我签出项目 fabric-samples 并运行文件 startFabric.sh 以启动 Fabric 区块链网络。
之后,我运行node enrollAdmin.js
注册新管理员
现在,我想使用fabric-ca-client的命令行向org1添加一个新用户。我执行以下命令:
访问 ca_peerOrg1 docker
docker exec -it ca_peerOrg1 bash
我检查
$FABRIC_CA_CLIENT_HOME
未设置的值
$FABRIC_CA_HOME
是/etc/hyperledger/fabric-ca-server
- 转到
/etc/hyperledger/fabric-ca-server
目录并检查命令
fabric-ca-client
- 并运行此命令
fabric-ca-client enroll -u http://admin:adminpw@localhost:7054
但出现以下错误:
任何人都可以帮忙吗?谢谢阅读
解决方案
我刚刚遇到了同样的问题。对于任何感兴趣的人,此错误表明 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_CERTFILE
or指定fabric-ca-server-config.yaml
推荐阅读
- javascript - 开玩笑(接收到的函数没有抛出,错误处理)
- grpc - 长连接上的 Grpc 错误:Ping 太多
- django - 从 Django 中的身份验证中获取令牌的值
- graphql - 通过在Repeater Field突变中传递一个空数组来防止Strapi上的可重复组件被删除?
- caching - NextJS 自定义服务器 - 为请求提供应用级缓存?
- google-apps-script - 使用我自己的 API 自动处理电子邮件的 GMail API/Google Workspace 插件
- javascript - 只有在 React JS 中单击提交后才更新 Select Dropdown 状态
- jquery - 如何在超时时为图像更改设置动画
- java - 静态成员的多线程行为
- pytest - 如何在 pytest 中运行 locust