主备证书认证配置

操作场景

轻量版场景下主备双机直接认证机制需要使用ssl证书。

前提条件

用户需要从CA认证中心申请到正式的服务器、客户端的证书和密钥。

注意事项

openGauss目前只支持X509v3的PEM格式证书。

操作步骤

  1. 准备证书、私钥。

    服务端各个配置文件名称约定:

    • 证书名称约定: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。
  2. 拷贝证书到各个节点的数据目录。

    1. 将服务端各个配置文件server.crt、server.key、server.key.cipher、server.key.rand拷贝到对应目录下。
    2. 将客户端各个配置文件client.crt、client.key、client.key.cipher、client.key.rand、cacert.pem(如果需要配置吊销证书列表,则列表中包含sslcrl-file.crl)拷贝到到对应目录下。
  3. 加密用户密码 (可选,如果证书已经生成了私钥可跳过)

    • 主节点: gs_guc encrypt -M server -K 密钥密码 -D ${GAUSSDATA}/
    • 备节点: gs_guc encrypt -M client -K 密钥密码 -D ${GAUSSDATA}/

    其中${GAUSSDATA}为数据目录

  4. 配置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'" 
    
  5. 备节点导出如下环境变量(文件权限不能大于600)

    export PGSSLCERT="${GAUSSDATA}/client.crt"

    export PGSSLKEY="${GAUSSDATA}/client.key"

    export PGSSLROOTCERT="${GAUSSDATA}/cacert.pem"

  6. 依次重启主备openGauss。

    gs_ctl restart -D ${GAUSSDATA} 
    
意见反馈
编组 3备份
    openGauss 2024-05-03 00:46:50
    取消