PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm cách nào để thêm chứng chỉ SSL (ca-cert) vào các biến môi trường node.js để kết nối với Cơ sở dữ liệu được quản lý của Digital Ocean Postgres?

Được rồi, cuối cùng tôi đã có thể tìm ra nó. Tôi nghĩ rằng vấn đề là đa chiều và chỉ là dotenv không quen thuộc với môi trường đang phát triển tại địa phương của tôi.

Tôi đã có thể làm cho tất cả hoạt động với mã của tôi như thế này. Nó cũng hoạt động với fs.readFileSync () nhưng tôi không muốn cam kết điều đó với quyền kiểm soát nguồn của mình.

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

Bây giờ trong config.env của tôi, tôi phải làm cho nó trông như thế này:

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

Tôi đã phải giữ nó dưới dạng một chuỗi dòng đơn để nó hoạt động. Nhưng cuối cùng tôi đã kết nối với

{rejectUnauthorized:true} 

Đối với biến môi trường nền tảng ứng dụng đại dương kỹ thuật số, tôi đã sao chép mọi thứ bao gồm cả dấu ngoặc kép và dán vào đó. Có vẻ hoạt động tốt. Mặc dù vậy, tôi không nghĩ rằng bạn sẽ có thể đặt cài đặt này thành true với cơ sở dữ liệu phát triển $ 7 của họ. Tôi đã phải nâng cấp lên cái được quản lý để tìm bất kỳ chứng chỉ CA nào để tải xuống.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sử dụng lệnh database_name trong PostgreSQL

  2. PostgreSQL COPY ống xuất ra gzip và sau đó đến STDOUT

  3. Cách truy vấn siêu dữ liệu của các chỉ mục trong PostgreSQL

  4. Làm thế nào để liên kết các vùng chứa docker trên bản dựng?

  5. Quy trình đồng thời chèn dữ liệu vào cơ sở dữ liệu