Django Postgres连接的强制SSL
我想强制Django使用SSL连接到我的postgres数据库Django Postgres连接的强制SSL,django,postgresql,Django,Postgresql,我想强制Django使用SSL连接到我的postgres数据库 指示我需要将sslmode='require'传递给psycopg2 connect调用。如何将其添加到Django的数据库参数中?将'OPTIONS':{'sslmode':'require'},添加到数据库配置中。例如: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': "d
指示我需要将
sslmode='require'
传递给psycopg2 connect调用。如何将其添加到Django的数据库参数中?将'OPTIONS':{'sslmode':'require'},
添加到数据库配置中。例如:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': "db_name",
'USER': "db_username",
'PASSWORD': "db_password",
'HOST': "db_host",
'OPTIONS': {'sslmode': 'require'},
},
}
postgres://DB_USERNAME:DB_PASSWORD@DB_HOST:PORT/DB_NAME?sslmode=require
同样,如果您正在使用数据库URL,例如通过django Enviro,请在数据库URL的末尾添加?sslmode=require
。例如:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': "db_name",
'USER': "db_username",
'PASSWORD': "db_password",
'HOST': "db_host",
'OPTIONS': {'sslmode': 'require'},
},
}
postgres://DB_USERNAME:DB_PASSWORD@DB_HOST:PORT/DB_NAME?sslmode=require
如果您正在使用,您可以传递为您设置选项的ssl\u require=True
import dj_database_url
DATABASES['default'] = dj_database_url.config(ssl_require=True)
如果要配置数据库URL,可以将选项作为查询参数传递:
DATABASE_URL=postgres://USER:PASSWORD@HOST:PORT/NAME?sslmode=require
这对和都有效。
Django配置基于dj_database_url
,因此您还可以传递ssl_require=True
,正如@frmdstryr所说:
DATABASES = values.DatabaseURLValue(environ_required=True, ssl_require=True)
在哪里指定证书?