Sailsjs Heroku Postgresql 错误:自签名证书

时间:2021-01-05 18:16:01

标签: node.js postgresql express heroku sails.js

我是sails.js 的新手,我部署到heroku 并添加了一个heroku postgreql 插件。在我的 datastore.js 文件中,我添加了以下配置,以便我可以将我的模型迁移到新的数据库插件。 这是我的 datastore.js 文件的片段。

adapter: "sails-postgresql",
    // URL: my-postgresql-url
    // ssl: true,

在我的 production.js 文件中,这是数据存储区的一个片段。

adapter: "sails-postgresql",
      url: process.env.DATABASE_URL,
      ssl: true,

我不知道似乎是什么问题,但服务器不断抛出此错误

{                                                                                                      
  error: Error: self signed certificate                                                                
      at TLSSocket.onConnectSecure (_tls_wrap.js:1498:34)                                              
      at TLSSocket.emit (events.js:314:20)                                                             
      at TLSSocket.EventEmitter.emit (domain.js:486:12)                                                
      at TLSSocket._finishInit (_tls_wrap.js:933:8)                                                    
      at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:707:12) {                                           
    code: 'DEPTH_ZERO_SELF_SIGNED_CERT'                                                                
  },                                                                                                   
  meta: {                                                                                              
    adapter: 'sails-postgresql',                                                                       
    url: 'my-postgresql-url',
    ssl: true,                                                                                         
    identity: 'default'                                                                                
  }                                                                                                    
}         

我不知道到底该怎么做,欢迎任何帮助。谢谢。

2 个答案:

答案 0 :(得分:0)

好的,在阅读了不同的文章和谷歌搜索后,为了解决这个问题,我只需要这样做。

ssl: {
 rejectUnathorized: false
}

解决了这个问题。

答案 1 :(得分:0)

一夜之间就解决了这个问题。一些摆弄并确定 SSL 设置中需要其他属性:

Heroku PostgreSQL 的工作数据存储对象如下:

datastores: {
  default: {
    adapter: 'sails-postgresql',
    url: process.env.DATABASE_URL,
    ssl: {
      sslmode: 'require',
      rejectUnauthorized: false,
    }
  },
},