服务器端证书配置
服务器端需生成三个文件: root.crt(根证书)、server.crt(服务器证书)、server.key(服务器私钥)
1、生成服务器私钥
cd /var/lib/postgresql/data
openssl genrsa -des3 -out server.key 2048
此处需输入密码,并需要再次确认输入密码
2、服务器私钥生成后,需移除密码,否则数据库重启时会出现异常
openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
writing RSA key
3、生成服务器证书
openssl req -new -key server.key -days 2650 -out server.crt -x509
此处可以一路Enter,不用输入
4、生成根证书
由于没有公证机构提供,只能使用自签名证书,因此可以将服务器证书作为根证书
cp server.crt root.crt
5、服务器端配置
postgresql的ssl配置默认是关闭的,需更改配置文件进行开启
vi /var/lib/postgresql/data/postgresql.conf
ssl=on
ssl_ca_file='root.crt'
ssl_key_file='server.key'
ssl_cert_file='server.crt'
还需要更改服务器的pg_hba.conf文件禁止用户以非SSL连接数据库
vi /var/lib/postgresql/data/pg_hba.conf
# host all all all md5