PostgreSQL配置SSL连接

1、系统需要有openssl、openssl-devel

yum -y install openssl openssl-devel

2、查看当前数据库是否使用openssl编译

pg_config|grep CONFIGURE

如果没有重新编译

make clean

make && make install

3、服务器端证书配置

服务器端需生成三个文件: root.crt(根证书)、server.crt(服务器证书)、server.key(服务器私钥)

3.1 生成服务器私钥

cd /opt/app/postgresql/data

openssl genrsa -des3 -out server.key 2048

此处需输入密码,并需要再次确认输入密码

3.2 服务器私钥生成后,需移除密码,否则数据库重启时会出现异常

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

Enter pass phrase for server.key:

writing RSA key

3.3 生成服务器证书

openssl req -new -key server.key -days 2650 -out server.crt -x509

此处可以一路Enter,不用输入

3.4 生成根证书

由于没有公证机构提供,只能使用自签名证书,因此可以将服务器证书作为根证书

cp server.crt root.crt

4、修改配置文件postgresql.conf

5、修改配置文件pg_hba.conf

添加配置hostssl all all 0.0.0.0/0 md5

5、修改权限

root.crt (root,777)(根证书)

server.key (postgres,600) (客户端密钥)

server.crt (root,755) (客户端证书)

重启postgresql

相关推荐
小码的头发丝、35 分钟前
Django中ListView 和 DetailView类的区别
数据库·python·django
Karoku0661 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
周全全1 小时前
MySQL报错解决:The user specified as a definer (‘root‘@‘%‘) does not exist
android·数据库·mysql
白云如幻1 小时前
MySQL的分组函数
数据库·mysql
荒川之神2 小时前
ORACLE 闪回技术简介
数据库·oracle
时差9533 小时前
【面试题】Hive 查询:如何查找用户连续三天登录的记录
大数据·数据库·hive·sql·面试·database
让学习成为一种生活方式3 小时前
R包下载太慢安装中止的解决策略-R语言003
java·数据库·r语言
秋意钟4 小时前
MySQL日期类型选择建议
数据库·mysql
Dxy12393102164 小时前
python下载pdf
数据库·python·pdf
JaneJiazhao5 小时前
HTTPSOK:SSL/TLS证书自动续期工具
服务器·网络协议·ssl