设置SSL连接PG

我是研究僧i 提交于 2020-03-06 16:07:01

第一步:

./configure --prefix=编译生成的目录 --with-openssl --enable-debug

解决configure: error: OpenSSL Crypto library not found

crypto是什么呢? 是OpenSSL 加密库(lib), 这个库需要openssl-devel包 ,在ubuntu中就是 libssl-dev

RedHat Fedora 平台 
yum -y install openssl-devel

Debian ,ubunu 平台 
apt-get install libssl-dev

第二步:

make && make install

第三步:

生成数据库:./initdb -D ../data

第四步:

利用openssl生成私钥和证书

进入生成的数据库data目录

openssl genrsa -des3 -out server.key

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

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

cp server.crt root.crt

chmod 0600 server.key

第五步:

修改postgresql.conf配置文件,打开ssl连接

ssl = on                # (change requires restart)

ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers # (change requires restart)

ssl_prefer_server_ciphers = on     # (change requires restart)

ssl_ecdh_curve = 'prime256v1'      # (change requires restart)

ssl_cert_file = 'server.crt'      # (change requires restart)

ssl_key_file = 'server.key'       # (change requires restart)

第六步:

修改pg_hba.conf配置文件,以hostssl方式连接

hostssl  all       all       0.0.0.0/0      trust

第七步:

重启数据库,使配置生效。

新建数据表,并插入数据

create table test(n int);

insert into test select generate_series(1, 100);

第八步:

用远程psql连接本地数据库

./psql -h 127.0.0.1 -p 5432 -d postgres

第九步:

远程psql端命令行执行一个查询语句

select * from test;

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!