我已经创建了一个Google SSL实例,并且我正在尝试从远程and服务器操作它,我已经将IP列入白名单并打开了PostgreSQL -only模式。我创建了客户端证书,但我不知道将它们放在哪里或如何引用它们。我在网上找不到任何关于它的东西。
任何帮助都将不胜感激
我的psycopg2 connect语句看起来像这样,并给我一个错误,说它需要客户端证书:
conn = psycopg2.connect(
user="postgres",
password="password",
host="{IP_ADDRESS}",
port="5432",
database="testdb",
sslmode="require",
}
发布于 2019-05-28 06:24:23
我自己弄明白了,我得到了一些关于如何连接psql的说明,这也适用于psycopg2。
Google告诉我,我可以使用以下终端命令通过psql进行连接:
psql "sslmode=verify-ca sslrootcert=server-ca.pem \
sslcert=client-cert.pem sslkey=client-key.pem \
hostaddr={IP_ADDRESS} \
port=5432 \
user=postgres dbname=postgres"
因此,我编辑了我的connect函数,添加了以下键:
sslrootcert=server-ca.pem
sslcert=client-cert.pem
sslkey=client-key.pem
确保运行
$ chmod 0600 client-key.pem
否则它不会起作用
https://stackoverflow.com/questions/56332906
复制相似问题