Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Knex Heroku错误:自签名证书_Javascript_Ssl_Heroku_Knex.js_Dotenv - Fatal编程技术网

Javascript Knex Heroku错误:自签名证书

Javascript Knex Heroku错误:自签名证书,javascript,ssl,heroku,knex.js,dotenv,Javascript,Ssl,Heroku,Knex.js,Dotenv,我不断地发现这个错误: 错误:自签名证书 在终端中运行此命令时: knex migrate:latest --env production 我的knexfile.js require('dotenv').config(); module.exports = { development: { client: "pg", connection: { host: "localhost", databa

我不断地发现这个错误:

错误:自签名证书

在终端中运行此命令时:

knex migrate:latest --env production
我的knexfile.js

       require('dotenv').config(); 
module.exports = {
      development: {
        client: "pg",
        connection: {
          host: "localhost",
          database: "my-movies"
        }
      },

      production: {
        client: "pg",
        connection: process.env.DATABASE_URL
      }
    };
My.env文件:

DATABASE_URL=<my_database_url>?ssl=true

我曾尝试在ssl:true的knexfile中的产品中放置一个键值对,但我得到了相同的错误。我过去曾多次这样做,但从未遇到过这个问题。想知道Heroku是否改变了什么,但在搜索他们的文档时,我找不到任何东西。

这是由于第8页(2020/02/25)cf.发生了突破性的变化

你可以得到答案,但这里是相关的段落:

现在,我们将对tls.connect使用默认的ssl选项,其中包括启用拒绝。这意味着如果您使用的是自签名证书,您的连接尝试可能会失败

heroku似乎在某处使用自签名证书

可能的解决办法:

  • 降级至第7页
  • 指示pg@^8忽略有问题的证书
    ssl:{rejectUnauthorized:false}
    (请参阅上面链接的公告)
  • 找到下载并信任证书的方法

    • 下面的配置在
      knexfile.js
      中对我有效

      。。。
      制作:{
      客户端:“postgresql”,
      连接:{
      connectionString:process.env.DATABASE\u URL,
      ssl:{rejectUnauthorized:false}
      }
      }
      ...
      

      其中
      数据库\u URL
      是运行
      heroku配置--yourAppName

      得到的
      ssl:{rejectUnauthorized:false}
      pg配置目前也不适用于我。。但我通过网络找到了一个临时(也许是永久)解决方案

      设置以下配置变量:


      heroku config:set PGSSLMODE=no验证

      您可以尝试将pg版本降级到7.4。3@dfrancese您找到解决方案了吗?添加
      ssl:{rejectUnauthorized:false}
      无效,我仍然收到相同的错误:(@j86我也被困在尝试了上面的SSL配置。你能继续吗?如果你能确认,那将是非常感谢你。谢谢你刚刚帮我摆脱了困境,谢谢谢谢。在knex文档上找到关于SSL选项的文档非常困难。你的回答为我解决了这个问题
      Addons:         heroku-postgresql:hobby-dev
      Auto Cert Mgmt: false
      Dynos:
      Git URL:        https://git.heroku.com/path-name.git
      Owner:          xxxxxxxxx@xxxx.com
      Region:         us
      Repo Size:      0 B
      Slug Size:      0 B
      Stack:          heroku-18
      Web URL:        https://my-appname.herokuapp.com/