如何解决需要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文档,我指定了sslmode:require
,但它不起作用
是有人遇到相同的错误并获得了解决方案,然后让我知道,我从最近5天开始就陷入了该错误。
解决方法
关于此问题,请参考以下步骤
-
下载SSL certificate。有关更多详细信息,请参阅here
-
代码
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);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。