我们正在实施 Hyperledger Fabric 解决方案。为此,我们在特定 docker 中使用最小配置(我们仍在尝试弄清楚事情是如何工作的)设置了一个 fabric-CA。
由于我们需要使用电子邮件/密码对登录用户,因此我们设置了一个 LDAP 组件。我们选择使用 OpenLDAP,在不同的 docker 中使用 osixia/openldap 实现。
我们在 fabric-ca-server-config.yaml 中设置参数以将 Fabric CA 连接到 LDAP。在两个码头工人的开始,日志似乎很好:
Successfully initialized LDAP client
当我们继续 Fabric-CA 教程时,我们在命令中失败了:
fabric-ca-client enroll -u http://cn=admin,dc=example:admin@localhost:7054
结果是:
[INFO] 127.0.0.1:46244 POST /enroll 401 23 "Failed to get user: Failed to connect to LDAP server over TCP at localhost:389: LDAP Result Code 200 "": dial tcp 127.0.0.1:389: connect: connection refused"
当在 CLI 中请求并通过 LDAP 浏览器 PHPLdapAdmin 使用相同的凭据时,LDAP 已正确设置和运行。
这是 fabric-ca-server-config.yaml 的一部分:
ldap:
enabled: true
url: ldap://cn=admin,dc=example:admin@localhost:389/dc=example
userfilter: (uid=%s)
tls:
enabled: false
certfiles:
client:
certfile: noclientcert
keyfile:
attribute:
names: ['uid','member']
converters:
- name: hf.Revoker
value: attr("uid") =~ "revoker*"
maps:
groups:
- name: example
value: peer
任何人都可以帮忙吗?谢谢阅读,