PostgreSQLサーバーのSSL証明書を構成しようとしています。データディレクトリに証明書ファイル(server.crt)とキー(server.key)を作成し、パラメーターSSLを "on"に更新して安全な接続を有効にしました。
クライアント側のサーバー証明書でサーバーのみを認証し、サーバー側でクライアントの信頼性を要求しないようにします。コマンドを接続して実行するクライアントとしてpsqlを使用しています。
PostgreSQL 8.4およびlinuxを使用しています。 SSLを有効にしてサーバーに接続するために以下のコマンドで試しました
psql "postgresql://localhost:2345/postgres?sslmode=require"
しかし、私は得ています
psql: invalid connection option "postgresql://localhost:2345/postgres?sslmode"
ここで何が間違っていますか? SSLモードを有効にしてサーバーに接続しようとしている方法は正しいですか?クライアントではなくサーバーのみを認証しても問題ありませんか?
私を助けてください。
psql --set=sslmode=require -h localhost -p 2345 -U thirunas \
-d postgres -f test_schema.ddl
psql "sslmode=require Host=localhost port=2345 dbname=postgres" --username=some_user
postgres psql documentation によると、接続パラメーターのみがconninfo文字列に含まれる必要があります(そのため、この例では--usernameはその文字列内にありません)
psql -h <Host> -p <port> -U <user> -d <db>
/var/lib/pgsql/10/data/pg_hba.conf
を更新して、認証方法をcert
に変更します。詳細については、次のリンクを確認してください。