fabric-ca-server-config.yaml中csr.hosts字段的作用是什么?
fabric-ca-server-config.yaml 中 csr.hosts 字段作用
csr.hosts 是CA服务器自身证书的专属配置,和客户端注册、登记的节点主机名没有任何关系。
具体作用
这个字段配置的是CA服务启动生成自身X.509证书时,写入证书的「主体备用名称(SAN, Subject Alternative Name)」列表:
- 只有写在这个列表里的主机名、域名、IP地址,客户端通过对应地址访问CA服务时,TLS证书校验才会通过,不会触发「证书域名不匹配」的连接错误。
- 你给出的配置示例中,声明了三个合法访问地址:
csr: cn: ca-org1 names: - C: US ST: "New York" L: "New York" O: ca-org1 OU: ca-org1 hosts: - localhost - example.com - ca-org1 ca: expiry: 131400h pathlength: 1
也就是说你用localhost、example.com、ca-org1这三个任意一个地址访问CA服务,TLS校验都是合法的;如果用未列入的地址(比如服务器内网IP10.0.0.5)访问,客户端会直接拦截TLS连接。
常见误区澄清
你提到的「fabric-ca客户端注册、登记的节点主机名」和本字段无关:
- 其他节点(peer、orderer、应用用户)向CA发起登记请求获取自身证书时,节点证书的SAN列表是由发起请求的节点本地配置指定,CA签发节点证书时不会读取自身配置里的
csr.hosts值。 - 如果后续需要给CA服务新增访问域名/IP,修改
csr.hosts后必须删除CA服务已生成的存量根证书、TLS证书文件,重启服务让CA重新生成自身证书,新的配置才会生效,仅修改配置重启不删旧证书不会触发证书重签。
内容的提问来源于stack exchange,提问作者Nag
相关产品推荐
相关产品推荐

