主备证书认证配置
操作场景
轻量版场景下主备双机直接认证机制需要使用ssl证书。
前提条件
用户需要从CA认证中心申请到正式的服务器、客户端的证书和密钥。
注意事项
openGauss目前只支持X509v3的PEM格式证书。
操作步骤
准备证书、私钥。
服务端各个配置文件名称约定:
- 证书名称约定:server.crt。
- 私钥名称约定:server.key。
- 私钥密码加密文件约定:server.key.cipher、server.key.rand。
客户端各个配置文件名称约定:
- 证书名称约定:client.crt。
- 私钥名称约定:client.key。
- 私钥密码加密文件约定:client.key.cipher、client.key.rand。
- 根证书名称约定:cacert.pem。
- 吊销证书列表文件名称约定:sslcrl-file.crl。
拷贝证书到各个节点的数据目录。
- 将服务端各个配置文件server.crt、server.key、server.key.cipher、server.key.rand拷贝到对应目录下。
- 将客户端各个配置文件client.crt、client.key、client.key.cipher、client.key.rand、cacert.pem(如果需要配置吊销证书列表,则列表中包含sslcrl-file.crl)拷贝到到对应目录下。
加密用户密码 (可选,如果证书已经生成了私钥可跳过)
- 主节点: gs_guc encrypt -M server -K 密钥密码 -D ${GAUSSDATA}/
- 备节点: gs_guc encrypt -M client -K 密钥密码 -D ${GAUSSDATA}/
其中${GAUSSDATA}为数据目录
配置ssl
gs_guc set -D ${GAUSSDATA} -c "ssl=on" gs_guc set -D ${GAUSSDATA} -c "ssl_ciphers = 'ALL'" gs_guc set -D ${GAUSSDATA} -c "ssl_cert_file = 'server.crt'" gs_guc set -D ${GAUSSDATA} -c "ssl_key_file = 'server.key'" gs_guc set -D ${GAUSSDATA} -c "ssl_ca_file = 'cacert.pem'"
备节点导出如下环境变量(文件权限不能大于600)
export PGSSLCERT="${GAUSSDATA}/client.crt"
export PGSSLKEY="${GAUSSDATA}/client.key"
export PGSSLROOTCERT="${GAUSSDATA}/cacert.pem"
依次重启主备openGauss。
gs_ctl restart -D ${GAUSSDATA}
意见反馈