node.js - 需要 SSL 连接。请指定 SSL 选项并重试

标签 node.js postgresql azure ssl tls1.2

我使用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 天里一直遇到这个错误。

最佳答案

关于该问题,请引用以下步骤

  1. 下载SSL certificate 。更多详情请引用here

  2. 代码

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

enter image description here

关于node.js - 需要 SSL 连接。请指定 SSL 选项并重试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63775186/

相关文章:

javascript - 从 Electron 代码更改外部应用程序窗口大小

c# - Azure Active Directory 可以用作登录代理吗?

azure - 以编程方式生成辅助角色的新实例

javascript - AWS Lambda - Nodejs : Allocation failed - JavaScript heap out of memory

node.js - 无法使用 TriggerAction 与 Microsoft Bot 框架 (node.js) 中的 LUIS 意图匹配

javascript - 将回调更改为 promise 链

sql - Postgresql 多行分组依据

ruby-on-rails - 如何更新 Rails 4 中的 hstore 列

postgresql - 如何使用 Postgresql 创建脚本来参数化序列的起始值

azure - 无法使用服务主体创建映射到 Azure AD 标识的 Azure SQL 数据库用户