sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan tilføjer man et SSL-certifikat (ca-cert) til node.js miljøvariabler for at oprette forbindelse til Digital Ocean Postgres Managed Database?

Ok, jeg var endelig i stand til at finde ud af det. Jeg tror, ​​at problemet var multiline og bare ukendskab til dotenv for mit lokale udviklingsmiljø.

Jeg var i stand til at få det hele til at fungere med min kode på denne måde. Det fungerede også med fs.readFileSync(), men jeg ønskede ikke at overføre det til min kildekontrol.

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 i min config.env var jeg nødt til at få det til at se sådan ud:

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

Jeg var nødt til at beholde den som en enkelt linjestreng for at få den til at virke. Men jeg skulle endelig få forbindelse med

{rejectUnauthorized:true} 

Til miljøvariablen for digital ocean app-platformen kopierede jeg alt inklusive de dobbelte anførselstegn og indsatte det der. Ser ud til at fungere fantastisk. Jeg tror dog ikke, at du vil være i stand til at få denne indstilling sat til sand med deres $7 udviklingsdatabase. Jeg var nødt til at opgradere til den administrerede for at finde et CA-certifikat at downloade.




  1. Hvordan kan jeg indsætte realtid af en begivenhed i databasen ved hjælp af php mysqli?

  2. Sådan opretter du en blog i PHP og MySQL database - Backend

  3. Hvad er forskellen mellem ORM/forespørgselsbyggerens biblioteksforbindelsespuljestørrelse og pgbouncer-forbindelsespuljestørrelsen?

  4. SQL join data fra flere tabeller med MYSQL