我在postgresql中设置了server.crt,root.crt和servery.key(使用http://howtoforge.com/postgresql-ssl-certificates进行说明),设置ssl = on并成功重启服务。
但是,当我testing与psql的连接,看看它是否在SSL中运行,我得到以下
-bash-3.2$ psql -h localhost -U dbadmin psql: could not open certificate file "/var/lib/pgsql/.postgresql/postgresql.crt": No such file or directory
我有pgsql / data /中的证书存储区,它们应该在哪里,那么顶部示例和下一个示例之间的断开连接是什么?
psql ssltesting文档
这是查找客户端证书文件。 正如您正确指出的,服务器证书文件属于pgsql/data/ 。 客户端证书文件在$HOME/.postgresql/ 。 您可能是以postgres用户身份login的,这个用户碰巧有一个/var/lib/pgsql/的主目录,这就是您如何得到这个path。
因此,请将客户端证书文件放在要查找的位置,或者以正确的用户身份login,或者重新configuration服务器以使其不需要客户端证书。