簡體   English   中英

Django Heroku,服務器不支持 SSL,但需要 SSL

[英]Django Heroku, server does not support SSL, but SSL was required

我有一個部署到 Heroku 和 Postgres 的 Django 應用程序,我正在嘗試添加 pgbouncer 以稍微擴展應用程序,但出現此錯誤:

django.db.utils.OperationalError: server does not support SSL, but SSL was required

正如許多其他問題所說,問題在於 django-heroku 包中的 SSL。 所以我嘗試接近,首先:在設置文件的末尾添加以下內容:

del DATABASES['default']['OPTIONS']['sslmode']

該錯誤仍在引發,因此我采用了 django-heroku 設置功能並對其進行了修改以直接在那里禁用 SSL

def custom_settings(config, *, db_colors=False, databases=True, test_runner=True, staticfiles=True, allowed_hosts=True,
             logging=True, secret_key=True):
    # Database configuration.
    # TODO: support other database (e.g. TEAL, AMBER, etc, automatically.)
    # Same code as the package
    # CHANGING SSL TO FALSE
                    config['DATABASES'][db_color] = dj_database_url.parse(url, conn_max_age=MAX_CONN_AGE,
                                                                          ssl_require=False)
 
        if 'DATABASE_URL' in os.environ:
            logger.info('Adding $DATABASE_URL to default DATABASE Django setting.')

            # Configure Django for DATABASE_URL environment variable.
            config['DATABASES']['default'] = dj_database_url.config(conn_max_age=MAX_CONN_AGE, ssl_require=False)

            logger.info('Adding $DATABASE_URL to TEST default DATABASE Django setting.')

並調用它:

django_heroku_override.custom_settings(config=locals(), staticfiles=False, logging=False)

但這並沒有奏效,我仍然收到原始錯誤

添加 Procfile 只是為了同謀:

web: bin/start-pgbouncer daphne rivendell.asgi:application --port $PORT --bind 0.0.0.0 -v2
worker: python manage.py runworker channel_layer -v2

我通過在 settings.py 中更改它解決了這個問題

db_from_env = dj_database_url.config(conn_max_age=0)
django_heroku.settings(locals())

db_from_env = dj_database_url.config(conn_max_age=0, ssl_require=False)
django_heroku.settings(locals() ,databases=False)

這對我有用,因為設置databases=false不允許使用 heroku 默認數據庫配置並允許傳遞我設置的ssl_require=false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM