首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asyncpg错误:在Heroku中没有主机的pg_hba.conf条目

asyncpg错误:在Heroku中没有主机的pg_hba.conf条目
EN

Stack Overflow用户
提问于 2020-05-28 05:29:16
回答 1查看 940关注 0票数 4

我使用python在Heroku postgresql中使用asyncpg连接我的数据库:

代码语言:javascript
复制
import asyncpg

async def create_db_pool():
   bot.pg_con = await asyncpg.create_pool(dsn="postgres://....", host="....amazonaws.com", user="xxx", database="yyy", port="5432", password="12345")

它一直工作得很好,直到我收到一封来自heroku的电子邮件,建议我进行维护:

Maintenance (DATABASE_URL on myappname) is starting now. We will update you when it has completed.

然后出现这个错误:

代码语言:javascript
复制
asyncpg.exceptions.InvalidAuthorizationSpecificationError: no pg_hba.conf entry for host "123.456.789.10", user "xxx", database "yyy", SSL off

我试着遵循一些帮助,比如放入ssl=True,但出现了这个错误:

代码语言:javascript
复制
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate (_ssl.c:1108)

与putting ssl="allow"相同

代码语言:javascript
复制
asyncpg.exceptions.InvalidPasswordError: password authentication failed for user "xxx"

我能做些什么来解决这个问题呢?

EN

回答 1

Stack Overflow用户

发布于 2021-03-16 14:33:54

使用this的解决方案成功了。

代码语言:javascript
复制
import ssl
ssl_object = ssl.create_default_context()
ssl_object.check_hostname = False
ssl_object.verify_mode = ssl.CERT_NONE
# connect elsewhere
pool = await asyncpg.create_pool(uri, ssl=ssl_object)

注意:您不需要使用评论中提到的任何证书,因为我们将verify_mode设置为不使用证书。

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

https://stackoverflow.com/questions/62053185

复制
相关文章

相似问题

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