J'ai un serveur Postgres avec un utilisateur dev
qui nécessite un certificat client pour se connecter. J'utilise la commande psql "sslmode=require user=dev host=db.prod"
qui me donne psql: FATAL: connection requires a valid client certificate
.
Je sais où se trouve le certificat sur mon serveur. Ma question est la suivante: comment spécifier l'emplacement du certificat client psql
?
Réponses:
Comme indiqué dans la documentation liée par @Milen, vous pouvez le faire en définissant les variables d'environnement
PGSSLCERT
etPGSSLKEY
ou en ajoutantsslcert=<cert location> sslkey=<key location>
à la chaîne de connexion.la source
PGSSLCERT
etPGSSLKEY
autoriserai également les chemins à spécifier, alors ne faites pascat
le certificat ou entrez lui-même ces variables.Le résultat final ressemble à
$>psql "port=5431 host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"
Toutes les variables sont ici .
la source