@@ -36,17 +36,22 @@ export default ({ env }) => {
3636 database : env ( 'DATABASE_NAME' , 'strapi' ) ,
3737 user : env ( 'DATABASE_USERNAME' , 'strapi' ) ,
3838 password : env ( 'DATABASE_PASSWORD' , 'strapi' ) ,
39- ssl : env . bool ( 'DATABASE_SSL' , false ) && {
40- key : env ( 'DATABASE_SSL_KEY' , undefined ) ,
41- cert : env ( 'DATABASE_SSL_CERT' , undefined ) ,
42- ca : env ( 'DATABASE_SSL_CA' , undefined ) ,
43- capath : env ( 'DATABASE_SSL_CAPATH' , undefined ) ,
44- cipher : env ( 'DATABASE_SSL_CIPHER' , undefined ) ,
45- rejectUnauthorized : env . bool (
46- 'DATABASE_SSL_REJECT_UNAUTHORIZED' ,
47- true
48- ) ,
49- } ,
39+ // When DATABASE_SSL is unset, leave `ssl` undefined so node-postgres
40+ // honours `sslmode=require` (or any other sslmode) embedded in
41+ // DATABASE_URL. Explicitly setting `ssl: false` would override it.
42+ ssl : env . bool ( 'DATABASE_SSL' , false )
43+ ? {
44+ key : env ( 'DATABASE_SSL_KEY' , undefined ) ,
45+ cert : env ( 'DATABASE_SSL_CERT' , undefined ) ,
46+ ca : env ( 'DATABASE_SSL_CA' , undefined ) ,
47+ capath : env ( 'DATABASE_SSL_CAPATH' , undefined ) ,
48+ cipher : env ( 'DATABASE_SSL_CIPHER' , undefined ) ,
49+ rejectUnauthorized : env . bool (
50+ 'DATABASE_SSL_REJECT_UNAUTHORIZED' ,
51+ true
52+ ) ,
53+ }
54+ : undefined ,
5055 schema : env ( 'DATABASE_SCHEMA' , 'public' ) ,
5156 } ,
5257 pool : {
0 commit comments