设置pgsql使用SSL加密(自签名证书)

1、切换至postgres用户

su postgres

2、进入到pgsql的安装目录

cd /home/data/postgresql-11.6

3、创建证书和私钥

openssl req -new -text -out server.req

按照提示输入即可

如图:

为 server.req设置权限

chmod 600 server.req

4、使用 OpenSSL 自签名证书

openssl rsa -in privkey.pem -out server.key

按照提示输入密码即可

如图:

为 server.key 设置权限

chmod 600 server.key

生成自签名的 SSL 证书

openssl x509 -req -days 365 -in server.req -signkey server.key -out server.crt

如图:

 

5、修改配置文件postgresql.conf 

开启ssl功能

vim data/postgresql.conf 

#换成实际的pg文件路径

在配置文件中添加或者修改以下配置:

ssl = on

ssl_cert_file = '/home/data/postgresql-11.6/server.crt'

ssl_key_file = '/home/data/postgresql-11.6/server.key'

#换成实际的server.crt存储文路径

#换成实际的server.key存储文路径

如图所示

6、修改pg_hba.conf文件

为所有的流复制连接添加hostssl

vim data/pg_hba.conf

hostssl replication all 0.0.0.0/0 md5

如图所示

 7、重启pgsql服务

systemctl restart postgresql

如果服务重启失败 并且查看日志显示:

SSL is not supported by this build

那么证明你编译安装时没有指定以下参数

./configure --with-openssl

需要重新编译安装并开启ssl功能

--with-openssl

 

8、验证是否成功

登录pgsql,输入

SHOW ssl;

如图:

 

posted @ 2023-11-20 09:39  宝英姐姐  阅读(616)  评论(0编辑  收藏  举报