配置数据库
这一部分的内容描述如何配置Fabric CA服务器,以便连接到PostgreSQL 或MySQL数据库。默认的数据库是SQLite,默认的数据库文件是Fabric CA服务器 所在目录的fabric-ca-server.db文件。
如果你不需要在集群中运行Fabric CA服务器,可以跳过这部分的内容,否则 你必须将Fabric CA服务器配置为使用PostgreSQL或MySQL。Fabric CA服务器 支持以下版本的数据库用于集群:
- PostgreSQL:9.5.5或更高版本
- MySQL:5.7或更高版本
PostgreSQL
下面的示例配置可以添加到配置文件中,以便连接到一个PostgresQL数据库。 请根据你的具体环境修改其中的值:
db:
type: postgres
datasource: host=localhost port=5432 user=Username password=Password dbname=fabric_ca sslmode=verify-full
sslmode
用来声明SSL鉴权类型,可选的值如下:
- disable: 不使用SSL
- require:总是使用SSL,不验证证书
- verify-ca:总是使用SSL,验证服务器证书由可信CA签发
- verify-full:总是使用SSL,验证服务器证书由可信CA签发,并且服务器主机名与证书中的一致
如果要使用TLS,那么在Fabric CA服务器配置文件中的db.tls段必须设置。 如果PostgreSQL服务器启用了SSL客户端验证,那么客户端的证书和密钥文件必须 在db.tls.client段声明。下面是一个示例:
db:
...
tls:
enabled: true
certfiles:
- db-server-cert.pem
client:
certfile: db-client-cert.pem
keyfile: db-client-key.pem
certfiles
配置用来声明一组可信的根CA的证书,PEM编码;certfile
和keyfile
用来声明Fabric CA服务器用来与PostgreSQL服务器通信的证书与密钥,PEM编码。
MySQL
下面的示例可以添加到Fabric CA服务器的配置文件中,以便连接到一个 MySQL数据库。请根据自己的具体情况修改其中的值:
db:
type: mysql
datasource: root:rootpw@tcp(localhost:3306)/fabric_ca?parseTime=true&tls=custom
如果要通过TLS连接到MySQL服务器,那么也需要配置db.tls.client
段,
请参考上面PostgreSQL中的相关内容。