Я пытаюсь подключиться к postgresql на локальном хосте, используя клиентские сертификаты ssl через django. Однако я получаю следующую ошибку
django.db.utils.OperationalError: FATAL: connection requires a valid client certificate
Я попробовал следующее
Я могу подключиться к удаленной базе данных postgresql через Приложение django (с использованием набора различных сертификатов)
Я могу подключиться к локальной базе данных (используя те же сертификаты ssl, которые не работают в django), используя psql ,
Я могу подключиться к базе данных на локальном хосте через django shell и psycopg2, используя следующий код
psycopg2.connect("host=127.0.0.1 dbname=analyticslayer user=al-app password=... sslmode=verify-ca sslcert=/home/al-app/.postgresql/ps-analyticslayer-1-postgresql-al-app-ca.crt sslkey=/home/al-app/.postgresql/ps-analyticslayer-1-postgresql-al-app-key.pem sslrootcert=/home/al-app/.postgresql/vintercapital.com-ca.crt")
Я также проверил, что с сертификатами все в порядке, используя openssl verify
Я использую django 2.2.6 postgresql 10 ubuntu 18.04
был бы очень признателен за помощь с этой проблемой / Хакан
ОБНОВЛЕНИЕ
По запросу это postgresql log (/ var / log / postgresql / postgresql -10-main. log) когда я пытаюсь подключиться через django. Попытка подключения является частью сценария автоматического развертывания, который перезапускает базу данных.
2020-02-27 13:06:33.444 UTC [4627] LOG: received fast shutdown request
2020-02-27 13:06:33.474 UTC [4627] LOG: aborting any active transactions
2020-02-27 13:06:33.477 UTC [4627] LOG: worker process: logical replication launcher (PID 4634) exited with exit code 1
2020-02-27 13:06:33.477 UTC [4629] LOG: shutting down
2020-02-27 13:06:33.498 UTC [4627] LOG: database system is shut down
2020-02-27 13:06:33.619 UTC [6293] LOG: listening on IPv4 address "0.0.0.0", port 5432
2020-02-27 13:06:33.619 UTC [6293] LOG: listening on IPv6 address "::", port 5432
2020-02-27 13:06:33.621 UTC [6293] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-02-27 13:06:33.648 UTC [6294] LOG: database system was shut down at 2020-02-27 13:06:33 UTC
2020-02-27 13:06:33.668 UTC [6293] LOG: database system is ready to accept connections
2020-02-27 13:06:34.205 UTC [6301] [unknown]@[unknown] LOG: incomplete startup packet
2020-02-27 13:06:34.715 UTC [6304] postgres@postgres FATAL: password authentication failed for user "postgres"
*Multiple of these messages*
2020-02-27 13:06:39.831 UTC [6334] postgres@postgres DETAIL: Password does not match for user "postgres".
Connection matched pg_hba.conf line 85: "local all postgres md5"
2020-02-27 13:06:39.834 UTC [6335] [unknown]@[unknown] LOG: incomplete startup packet
2020-02-27 13:08:05.351 UTC [6478] al-app@analyticslayer FATAL: connection requires a valid client certificate
2020-02-27 13:11:43.679 UTC [6618] al-app@analyticslayer FATAL: connection requires a valid client certificate
2020-02-27 14:03:48.243 UTC [6293] LOG: received fast shutdown request
Когда я вхожу в систему с помощью psql с моего локального компьютера. Журнал выглядит так:
2020-02-28 17:18:59.525 UTC [11842] [unknown]@[unknown] LOG: could not accept SSL connection: Success
Когда я захожу в оболочку django и выполняю код psycopg2, журнал ничего не регистрирует. Однако conn.closed
дает мне 0.