sql >> Database >  >> RDS >> PostgreSQL

Hoe voeg ik een SSL-certificaat (ca-cert) toe aan node.js-omgevingsvariabelen om verbinding te maken met Digital Ocean Postgres Managed Database?

Oke ik heb het eindelijk kunnen achterhalen. Ik denk dat het probleem multiline was en gewoon onbekendheid met dotenv voor mijn lokale ontwikkelomgeving.

Ik was in staat om het allemaal werkend te krijgen met mijn code op deze manier. Het werkte ook met fs.readFileSync() maar ik wilde dat niet vastleggen in mijn broncodebeheer.

const { Pool } = require('pg')
const fs = require('fs')

const pgPool = new Pool({
user: process.env.PGUSER,
password: process.env.PGPASSWORD,
host: process.env.PGHOST,
database: process.env.PGDATABASE,
port: process.env.PGPORT,
ssl: {
    rejectUnauthorized: true,
    // ca: fs.readFileSync(
    //     `${process.cwd()}/cert/ca-certificate.crt`.toString()
    // ),
    ca: process.env.CA_CERT,
},
})
.on('connect', () => {
    console.log('connected to the database!')
})
.on('error', (err) => {
    console.log('error connecting to database ', err)
})

Nu moest ik het er in mijn config.env zo uit laten zien:

CA_CERT="-----BEGIN CERTIFICATE-----\nVALUES HERE WITH NO SPACES AND A \n 
AFTER EACH LINE\n-----END CERTIFICATE-----"

Ik moest het als een enkele regelreeks houden om het te laten werken. Maar ik zou eindelijk contact maken met

{rejectUnauthorized:true} 

Voor de omgevingsvariabele van het digitale oceaan-app-platform heb ik alles gekopieerd, inclusief de dubbele aanhalingstekens en daarin geplakt. Lijkt geweldig te werken. Ik denk echter niet dat je deze instelling op true kunt zetten met hun $ 7-ontwikkelingsdatabase. Ik moest upgraden naar de beheerde versie om een ​​CA-certificaat te vinden om te downloaden.




  1. PHP en MySQL trekken seconden van tijd af

  2. Slaapverlies van precisie in resultaten bij het toewijzen van een getal (22,21) aan BigDecimal

  3. Disaster Recovery voor Galera-cluster geïmplementeerd in een hybride cloud

  4. JPA op Java SE:Object:[email-protected] is geen bekend entiteitstype