PostgreSQL支持使用SSL连接加密客户端/服务器通信,以提高安全性。这要求在客户端和服务器系统上都安装OpenSSL,并且在构建时启用PostgreSQL中的ssl支持(使用源码安装时的--with-openssl参数)。
服务端侧
首先为了使ssl工作起来,服务端首先需要配置三个参数:
ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
上面提到服务端需要配置三个参数,ssl、ssl_cert_file、ssl_key_file 我们看下其分别代表什么?
ssl: 支持SSL连接。默认是关闭的。这个参数只能在服务器启动时设置。SSL通信只能通过TCP/IP连接进行。
ssl_cert_file:指定包含SSL服务器证书的文件的名称。默认是server.crt。相对路径相对于数据目录。
此参数只能在服务器启动时设置。
ssl_key_file:指定包含SSL服务器私钥的文件的名称。默认是server.key。相对路径相对于数据目录。
此参数只能在服务器启动时设置
要在SSL模式下启动,必须存在包