【问题标题】:How to Create Connection Pools for Digital Ocean Managed Postgres Database using SSL with Nodejs?如何使用 SSL 和 Nodejs 为 Digital Ocean Managed Postgres 数据库创建连接池?
【发布时间】:2020-09-19 21:50:01
【问题描述】:

我使用 nodejs 和 express 编写了一个 API。我的数据库被黑了,我决定使用 Digital Ocean Managed Database。 Digital Ocean Managed 数据库需要 SSL,他们只为您提供一个 CA 证书。在所有的教程中,SSL 需要 3 个文件。我没有找到任何关于如何仅使用一个文件连接 node-pg 的教程。我终于找到了解决方案,我想与社区分享。希望我能省去几个小时的挖掘时间。

【问题讨论】:

    标签: node.js database postgresql ssl digital-ocean


    【解决方案1】:

    Digital Ocean 为您提供的证书是根证书而不是客户端证书。在 node-pg 中,cert 指的是客户端证书,CA 指的是根证书。应该使用CA 选项,而不是Cert

    1. CA:root.crt(用于传入消息;Digital Ocean 为您提供此消息)
    2. 密钥:postgresql.key(你不需要)
    3. 证书:客户端证书(您不需要)

    const config = {
      database: 'database-name',
      host: 'host-or-ip',
      user: 'username',
      password: 'password',
      port: 1234,
      // this object will be passed to the TLSSocket constructor
      ssl: {
        ca: fs.readFileSync('/path/to/digitalOcean/certificate.crt').toString()
      }
    }

    如果此答案对您有用,请点赞,以便其他人也能找到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-21
      • 1970-01-01
      • 2022-08-23
      • 2019-10-20
      • 2021-06-04
      • 1970-01-01
      • 2010-12-14
      • 1970-01-01
      相关资源
      最近更新 更多