PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да добавите SSL сертификат (ca-cert) към променливите на средата node.js, за да се свържете с управляваната база данни на Digital Ocean Postgres?

Добре, най-накрая успях да го разбера. Мисля, че проблемът беше многоредов и просто непознаване на dotenv за моята локална среда за разработка.

Успях да накарам всичко да работи с моя код по този начин. Работеше и с fs.readFileSync(), но не исках да го ангажирам с моя контрол на източника.

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)
})

Сега в моя config.env трябваше да го направя да изглежда така:

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

Трябваше да го запазя като низ от един ред, за да работи. Но най-накрая трябваше да се свържа с

{rejectUnauthorized:true} 

За променливата на средата на платформата за цифрови океански приложения копирах всичко, включително двойните кавички, и го поставих там. Изглежда, че работи страхотно. Не мисля обаче, че ще можете да зададете тази настройка на true с тяхната база данни за разработка за $7. Трябваше да надстроя до управлявания, за да намеря CA сертификат за изтегляне.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Използване на ADO във VBA за свързване с PostgreSQL

  2. Doctrine2 не задава последователност по подразбиране за колона с id (postgres)

  3. PG gem няма да се инсталира в приложението Rails:Gem::Ext::BuildError:ГРЕШКА:Неуспешно изграждане на естествено разширение за gem

  4. Глави в облака в CHAR(10)

  5. На какво ниво имената на индексите на Postgres трябва да бъдат уникални?