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

相关推荐
懒羊羊不懒@4 分钟前
【MySQL | 进阶】存储引擎
数据库·mysql
BD_Marathon32 分钟前
Hive初始化元数据库时报错:Unknown version specified for initialization: 3.1.0
数据库·hive·hadoop
ArabySide40 分钟前
【Spring Boot】事务的回滚、传播与常见问题
数据库·spring boot
q***575044 分钟前
Redis服务安装自启动(Windows版)
数据库·windows·redis
Databend1 小时前
DATA AI Databend Meetup 2025上海站邀您共话未来
数据库
合作小小程序员小小店2 小时前
web网页开发,在线%宠物销售%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·数据库·mysql·jdk·intellij-idea·宠物
不知更鸟2 小时前
Django 的配置文件 INSTALLED_APPS
数据库·sqlite
合作小小程序员小小店2 小时前
web网页开发,在线%物流配送管理%系统,基于Idea,html,css,jQuery,java,ssh,mysql。
java·前端·css·数据库·jdk·html·intellij-idea
2501_941142932 小时前
基于区块链的数字身份管理:探索安全与隐私的未来
网络·数据库·人工智能
LoneEon2 小时前
Ubuntu 上搭建 Redis 3 节点集群(6 实例:3主3从)
数据库·redis·缓存