在将设置更改为环境变量时,我开始收到错误消息“服务器不支持SSL,但是需要SSL”。我以为我已经做到了,如果没有,我不确定我还要做些什么。我在已安装的应用程序中具有“ djangosecure”和“ sslserver”。 ssslmode在我的postgres.conf中为“开”:
#authentication_timeout = 1min # 1s-600s
ssl = on # (change requires restart)
#ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
# (change requires restart)
#ssl_prefer_server_ciphers = on # (change requires restart)
#ssl_ecdh_curve = 'prime256v1' # (change requires restart)
ssl_cert_file = 'server.crt' # (change requires restart)
ssl_key_file = 'server.key' # (change requires restart)
#ssl_ca_file = '' # (change requires restart)
#ssl_crl_file = '' # (change requires restart)
#password_encryption = on
#db_user_namespace = off
#row_security = on
对我来说有趣的是,在整个开发过程中,我没有遇到这个错误;直到现在,我已经尝试将设置更改为生产环境变量。我缺少什么设置或配置?
我的数据库配置中有这个: “选项”:{ 'sslmode':'require', }
这可能与我最初安装的Postgres有关吗?我在virtualenv之外安装了Postgres,因此必须使用以下命令访问db命令行: grep bin,然后复制路径,而不是简单地编写psql。到目前为止,除了给您带来的不便之外,这还没有给我带来任何问题,但这可能是问题的一部分吗?
python3 manage.py dbshell
CommandError:您似乎没有安装'psql'程序或在路径上。
conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError:服务器不支持SSL,但是需要SSL