node.js - 需要 SSL 连接。请指定 SSL 选项并重试
问题描述
我使用 azure postgres,所以当我禁用 SSL 时它工作正常,但我希望启用 SSL 连接,当我从 azure 启用时,然后当我启动我的应用程序错误:SSL connection is required. Please specify SSL options and retry
此错误多次发生
在 azure Azure Docs for SSL的文档中的位置 。这是我的连接字符串
connection: {
database: process.env.POSTGRES_DATABASE || 'postgres',
port: process.env.POSTGRES_PORT || 5432,
user: process.env.POSTGRES_USER || 'my@-username',
host: process.env.POSTGRES_HOST || 'postgres.db.postgres.database.azure.com',
password: process.env.POSTGRES_PASSWORD || 'postpass',
sslmode: 'require',
}
根据 azure docs 我指定sslmode:require
但它不起作用是任何人都面临同样的错误并得到了解决方案然后让我知道,我从过去 5 天开始就陷入了这个错误。
解决方案
关于这个问题,请参考以下步骤
const pg = require("pg");
const fs = require("fs");
const config = {
host: "<>.postgres.database.azure.com",
user: "<>",
password: "<>",
database: "postgres",
port: 5432,
ssl: {
cert: fs.readFileSync("<the cert path>"),
rejectUnauthorized: true,
},
};
const client = new pg.Client(config);
client.connect((err) => {
if (err) throw err;
else {
console.log("success");
}
});
const query = "SELECT * FROM inventory;";
client
.query(query)
.then((res) => {
const rows = res.rows;
console.log(`Read: ${JSON.stringify(rows)}`);
process.exit();
})
.catch((err) => {
console.log(err);
});
推荐阅读
- javascript - 如何从 Firestore 检索地图并对其进行迭代?
- php - 转换 PHP 字符串
- javascript - HTML 中脚本标记中的异步和延迟属性与 SPA 应用程序无关吗?
- css - svg 图像未显示在 react.js 上
- c - 为什么popen不抓取qemu的输出?
- sequelize.js - How to mix sequelize camel case and snake case?
- python - 使用 for 循环从多个页面抓取网页第 2 部分
- javascript - 如何使用复选框显示或隐藏 RGraph 折线图上的数据点?
- python-3.x - 在 Mac OS 11.0.1 上运行 Python 3.9.1 的 Atom 中的氢追溯错误
- html - 无缘无故添加了不必要的引导悬停类?