Я установил server.crt, root.crt и servery.key в postgresql (используя http://howtoforge.com/postgresql-ssl-certificates для инструкций), установите ssl = on и успешно перезапустите службу.
Однако, когда я тестирую соединение с 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 /, где они должны быть, так в чем же разница между верхним и следующим примером?
Это ищет клиент файлы сертификатов. Файлы сертификатов сервера принадлежат pgsql/data/
, как вы правильно заметили. Файлы сертификатов клиента ищутся в $HOME/.postgresql/
. Вы, вероятно, вошли как postgres
пользователь, у которого есть домашний каталог /var/lib/pgsql/
Итак, вот как вы попали на этот путь.
Поэтому либо поместите файлы сертификатов клиента туда, где их ищут, либо войдите в систему как правильный пользователь, либо перенастройте сервер так, чтобы он не требовал сертификатов клиентов.