Сертификат Подтвердить Сбой Postgresql Heroku
Я использую базу данных PostgreSQL через Heroku и asyncpg. Мой URL-адрес: postgres://user:pass@ec2-23-21-76-49.compute-1.amazonaws.com:5432/db_name
,
Когда я запускаю это, я получаю ошибку:
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777)
Этот URL базы данных определенно работает, он действителен, когда я использую psycopg2. Просто когда я использую asyncpg, я получаю эту ошибку.
Я пытался не использовать пул соединений, который тоже не работает. Передача пользователя, пароля и т. Д. Также не работает.
class Database:
"""Accessing database functions"""
def __init__(self, bot):
self.bot = bot
try:
self.dsn = os.environ["DATABASE_URL"]
except KeyError:
database_file = open('database_secret.txt', mode='r')
self.dsn = database_file.read()
database_file.close()
self.pool = None
self.prefix_conn = None
self.prefix_stmt = None
print(self.dsn)
lop = asyncio.get_event_loop()
lop.run_until_complete(self.init())
async def init(self):
self.pool = await asyncpg.create_pool(self.dsn, ssl=True)
# It fails here
1 ответ
У меня была эта проблема, и это было, вероятно, потому, что у меня был новый сертификат SSL и действительно старая версия стека Heroku (cedar-14), действительно старый python (2.7.9) и действительно старый requests
(2.5.1) модуль.
Я все модернизирую (стека героку-16, питон 2.7.14, requests
2.18.4), но, вероятно, проблема была в том, что requests
теперь требует certifi
модуль. Насколько я понимаю, теперь модуль обрабатывает проверку SSL.