Joj*_*ojo 5 python postgresql psycopg2
我创建了一个 Google PostgreSQL 实例,并尝试从远程网络服务器操作它,我已将 IP 列入白名单并打开仅 SSL 模式。我创建了客户端证书,但我不知道将它们放在哪里或如何引用它们。我在网上找不到任何有关它的信息。
任何帮助,将不胜感激
我的 psycopg2 connect 语句如下所示,并给出一个错误,指出它需要客户端证书:
conn = psycopg2.connect(
user="postgres",
password="password",
host="{IP_ADDRESS}",
port="5432",
database="testdb",
sslmode="require",
}
Run Code Online (Sandbox Code Playgroud)
我自己弄清楚了,我得到了一些关于如何连接 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"
Run Code Online (Sandbox Code Playgroud)
所以我编辑了连接函数来添加这些键:
sslrootcert=server-ca.pem
sslcert=client-cert.pem
sslkey=client-key.pem
Run Code Online (Sandbox Code Playgroud)
确保运行
$ chmod 0600 client-key.pem
Run Code Online (Sandbox Code Playgroud)
否则不会起作用
| 归档时间: |
|
| 查看次数: |
6881 次 |
| 最近记录: |