首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >当尝试使用psycopg2连接到远程数据库时,将ssl证书放在哪里?

当尝试使用psycopg2连接到远程数据库时,将ssl证书放在哪里?
EN

Stack Overflow用户
提问于 2019-05-28 06:05:25
回答 1查看 2.8K关注 0票数 3

我已经创建了一个Google SSL实例,并且我正在尝试从远程and服务器操作它,我已经将IP列入白名单并打开了PostgreSQL -only模式。我创建了客户端证书,但我不知道将它们放在哪里或如何引用它们。我在网上找不到任何关于它的东西。

任何帮助都将不胜感激

我的psycopg2 connect语句看起来像这样,并给我一个错误,说它需要客户端证书:

代码语言:javascript
复制
conn = psycopg2.connect(
            user="postgres",
            password="password",
            host="{IP_ADDRESS}",
            port="5432",
            database="testdb",
            sslmode="require",
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-28 06:24:23

我自己弄明白了,我得到了一些关于如何连接psql的说明,这也适用于psycopg2。

Google告诉我,我可以使用以下终端命令通过psql进行连接:

代码语言:javascript
复制
  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函数,添加了以下键:

代码语言:javascript
复制
sslrootcert=server-ca.pem
sslcert=client-cert.pem
sslkey=client-key.pem

确保运行

代码语言:javascript
复制
$ chmod 0600 client-key.pem

否则它不会起作用

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56332906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档