首页 > 解决方案 > 如何在启用 tls 的多个主机上运行 Fabric-Ca 服务器/客户端?

问题描述

我在一台机器上运行 fabric-ca-server 并从另一台启用了 tls 的机器请求注册命令,但收到此错误

Fabric-ca-server 错误

Fabric-ca-client 错误 请参见末尾突出显示的行

有人可以告诉我我做错了什么或错过了什么吗?抱歉,我无法发布图片。请点击链接查看显示错误的图片

标签: hyperledger-fabrichyperledger-fabric-ca

解决方案


该错误是常见的 TLS 主机名不匹配错误,其中客户端请求中使用的主机名或 IP 与服务器的 TLS 证书中的主机名不匹配。

假设您依赖于 fabric-ca-server 自动生成 TLS 证书,您需要--csr.hosts在启动 fabric-ca-server 时指定标志,例如--csr.hosts <IP address>. 在你的情况下,将是172.20.50.158. (请注意,建议使用主机名而不是 IP 地址,尤其是当您的主机系统没有静态 IP 地址时)。

假设您通过了上述操作,您还需要--tls.certfiles在运行 fabric-ca-client 命令时设置受信任的根证书标志 ( );您需要从 fabric-ca-server 获取根证书,并将其$FABRIC_CA_SERVER_HOME/ca-cert.pem复制到运行客户端的机器上。


推荐阅读