django - 为 Django Postgres 连接强制使用 SSL

标签 django postgresql

我想强制 Django 使用 SSL 连接到我的 postgres 数据库。

This question表示我需要将 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'},
    },
}

作为jklingen92 points out ,如果您使用的是数据库 URL,例如通过 django-environ ,将 ?sslmode=require 添加到数据库 URL 的末尾。例如:

postgres://<DB_USERNAME>:<DB_PASSWORD>@<DB_HOST>:<PORT>/<DB_NAME>?sslmode=require

关于django - 为 Django Postgres 连接强制使用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47683059/

相关文章:

mysql - 并发更新 MySQL 与 PostgreSQL?

python - 列出表中存在的字段

python - Django dateutil ISO 8601 没有 'read' 属性错误

python - 故障排除 'itertools.chain' 对象没有属性 '__getitem__'

需要请求的 Django 表单使测试更难?

regex - 将 SIMILAR TO 用于正则表达式?

SQL如何将列转换为变量

c++ - Django 作为 mysql 代理服务器?

python-3.x - Docker、Ubuntu 18.04 python3.7.2 : standard_init_linux. go:207: exec 用户进程导致 "exec format error"

postgresql - 我在 postgresql 中的用户的默认密码