如何在 javascript 中创建一个可以使用 SSL 连接到数据库后端的池对象?
How to create a pool object in javascript that can connect to a database backend using SSL?
我遵循了有关如何在 PostgreSQL 上创建 Node JS 后端和 ReactJS 前端的指南,该指南运行良好,请参阅 here for more。
quide的js池对象如下:
const Pool = require('pg').Pool
const pool = new Pool({
user: 'my_user',
host: 'localhost',
database: 'my_database',
password: 'postgres',
port: 5432,
});
我尝试对使用 SSL 加密的 PostgreSQL Web 服务器执行相同的操作。此问题未标记 postgresql
,因为 mysql 和其他数据库的池看起来相同。它也没有被标记 Linux
因为它应该在其他 OS.
上工作相同
如何从 javascript 中的池 class 创建一个可以使用 SSL 连接到 PostgreSQL 后端的池对象?
您需要保存证书,将其命名为 server-certificate.pem
,在静态路径以 /
开头的地方(~
对于您的用户主目录不起作用)。所以,你需要把它移到一个静止的地方。
我将文件复制到新创建的目录certificates
,但这当然取决于您。为此,您需要超级用户权限。
/etc/certificates/server-certificate.pem
您需要加载 fs
并在 SSL 部分使用它,请参阅 How to establish a secure connection (SSL) from a Node.js API to an AWS RDS。
const Pool = require('pg').Pool
const fs = require('fs');
const pool = new Pool({
user: 'my_user',
host: 'my_host',
database: 'my_database',
password: 'my_password',
port: 22222,
ssl: {
ca: fs
.readFileSync("/etc/certificates/server-certificate.pem")
.toString()
}
});
我遵循了有关如何在 PostgreSQL 上创建 Node JS 后端和 ReactJS 前端的指南,该指南运行良好,请参阅 here for more。
quide的js池对象如下:
const Pool = require('pg').Pool
const pool = new Pool({
user: 'my_user',
host: 'localhost',
database: 'my_database',
password: 'postgres',
port: 5432,
});
我尝试对使用 SSL 加密的 PostgreSQL Web 服务器执行相同的操作。此问题未标记 postgresql
,因为 mysql 和其他数据库的池看起来相同。它也没有被标记 Linux
因为它应该在其他 OS.
如何从 javascript 中的池 class 创建一个可以使用 SSL 连接到 PostgreSQL 后端的池对象?
您需要保存证书,将其命名为 server-certificate.pem
,在静态路径以 /
开头的地方(~
对于您的用户主目录不起作用)。所以,你需要把它移到一个静止的地方。
我将文件复制到新创建的目录certificates
,但这当然取决于您。为此,您需要超级用户权限。
/etc/certificates/server-certificate.pem
您需要加载 fs
并在 SSL 部分使用它,请参阅 How to establish a secure connection (SSL) from a Node.js API to an AWS RDS。
const Pool = require('pg').Pool
const fs = require('fs');
const pool = new Pool({
user: 'my_user',
host: 'my_host',
database: 'my_database',
password: 'my_password',
port: 22222,
ssl: {
ca: fs
.readFileSync("/etc/certificates/server-certificate.pem")
.toString()
}
});