Saya memiliki server Postgres dengan pengguna dev
yang memerlukan sertifikat klien untuk masuk. Saya menggunakan perintah psql "sslmode=require user=dev host=db.prod"
, yang memberi saya psql: FATAL: connection requires a valid client certificate
.
Saya tahu di mana sertifikat berada di server saya. Pertanyaan saya adalah, bagaimana cara menentukan lokasi sertifikat klien psql
?
Jawaban:
Seperti yang dinyatakan dalam dokumentasi yang ditautkan oleh @Milen, Anda dapat melakukan ini dengan menyetel variabel lingkungan
PGSSLCERT
danPGSSLKEY
, atau dengan menambahkansslcert=<cert location> sslkey=<key location>
ke string koneksi.sumber
PGSSLCERT
danPGSSLKEY
juga memungkinkan jalur untuk ditentukan, jadi jangancat
sertifikat atau kunci itu sendiri ke dalam variabel tersebut.Hasil akhirnya terlihat seperti
$>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"
Semua variabel ada di sini .
sumber