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/