Sailsjs Heroku Postgresql 错误:自签名证书

Posted

技术标签:

【中文标题】Sailsjs Heroku Postgresql 错误:自签名证书【英文标题】:Sailsjs Heroku Postgresql Error: self signed certificate 【发布时间】:2021-04-11 12:38:51 【问题描述】:

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

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

在我的 production.js 文件中,这是数据存储的 sn-p。

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'                                                                                
                                                                                                      
         

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

【问题讨论】:

【参考方案1】:

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

ssl: 
 rejectUnauthorized: false

这就解决了问题。

【讨论】:

【参考方案2】:

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

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

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

【讨论】:

以上是关于Sailsjs Heroku Postgresql 错误:自签名证书的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 为啥使用 Postgresql?

为 Heroku 重写 PostgreSQL 查询

无法连接到服务器:PostgreSQL -Heroku

Heroku:执行查询但没有 postgresql 日志

如何配置 heroku.yml 以使用 Heroku PostgreSQL 插件?

Heroku PostgreSQL:重启添加重复行