ログインにクライアント証明書が必要なユーザーdev
を使用するPostgresサーバーがあります。コマンドpsql "sslmode=require user=dev Host=db.prod"
を使用しています。これにより、psql: FATAL: connection requires a valid client certificate
が表示されます。
証明書がサーバーのどこにあるか知っています。私の質問は、クライアント証明書の場所をpsql
に指定するにはどうすればよいですか?
@Milenによってリンクされたドキュメントで述べられているように、PGSSLCERT
およびPGSSLKEY
環境変数を設定するか、sslcert=<cert location> sslkey=<key location>
を接続文字列に。
最終結果は$>psql "port=5431 Host=localhost user=postgres sslcert=./test/client.crt sslkey=./test/client.key sslrootcert=./test/server.crt sslmode=verify-ca"
のようになります
すべての変数は here です。