Ошибка базы данных Heroku Postgres: "сервер не поддерживает SSL, но SSL был необходим"

При запуске моего приложения Django на Heroku я вижу следующую ошибку:

connection to server at "127.0.0.1", port 6000 failed: server does not support SSL, but SSL was required

В settings.py у меня переменная DATABASES настроена следующим образом:

if env.get("DJANGO_DEVELOPMENT"):
    DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.postgresql",
            "OPTIONS": {
                "service": env.get("DATABASE_SERVICE"),
            },
        }
    }
else:
    DATABASES = {
        "default": dj_database_url.config(
            conn_max_age=500, ssl_require=True
        )
    }

Однако я заметил, что на странице ошибки указана переменная DATABASES, и она включает sslmode': 'require:

DATABASES   
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_HEALTH_CHECKS': False,
             'CONN_MAX_AGE': 600,
             'ENGINE': 'django.db.backends.postgresql',
             'HOST': '127.0.0.1',
             'NAME': 'db1',
             'OPTIONS': {'sslmode': 'require'},
             'PASSWORD': '********************',
             'PORT': 6000,
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIGRATE': True,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': None,
             'USER': 'zvchpwwqszbgax'}}

Может быть, я что-то неправильно настроил? Я предполагаю, что Heroku включает SSL для подключенной базы данных Postgres, и вижу его как "обязательный", похоже, что правильная настройка включена.

Вам необходимо включить SSL в pgBouncer. Это означает установку client_tls_sslmode на allow или require.

Вернуться на верх