【发布时间】:2021-06-12 00:50:22
【问题描述】:
在我的 Heroku 应用程序上运行了几个月后,我昨天开始收到此错误:
主机“x.x.x.x”、用户“xxxxx”、数据库“xxxxz”、SSL 关闭”没有 pg_hba.conf 条目
我只在客户端工作,并没有更改服务器上的任何内容,所以我不知道会发生什么。
服务器包.json
{
"name": "spiral-server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "mocha --require test/setup.js",
"dev": "nodemon src/server.js",
"start": "node src/server.js",
"migrate": "postgrator --config postgrator-config.js",
"migrate:test": "env NODE_ENV=test npm run migrate",
"migrate:production": "env SSL=true DATABASE_URL=$(heroku config:get DATABASE_URL) npm run migrate",
"predeploy": "npm audit",
"deploy": "git push heroku master",
"postdeploy": "npm run migrate:production"
},
"keywords": [],
"engines": {
"node": "12.14.1"
},
"author": "",
"license": "ISC",
"dependencies": {
"cors": "^2.8.5",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"helmet": "^4.1.0",
"jsonwebtoken": "^8.5.1",
"knex": "^0.21.5",
"morgan": "^1.10.0",
"pg": "^8.3.3",
"postgrator": "^4.0.1",
"postgrator-cli": "^3.2.0",
"xss": "^1.0.8"
},
"devDependencies": {
"chai": "^4.2.0",
"mocha": "^8.1.1",
"nodemon": "^2.0.4",
"supertest": "^4.0.2"
}
}
我不知道如何开始调试,因为我已经让它完美运行了。
我可能所做的唯一更改是 GitHub 存储库名称(我更改了一些存储库名称,不确定是否更改了这个)
我所有其他工作都在客户端上,这是一个托管在 Vercel 上的 React 应用程序。
我从 localhost、Vercel 或 Postman 查询时收到 pg 错误。
有什么建议吗?
【问题讨论】:
-
错误非常具体,实例的
pg_hba.conf不包含所请求连接的条目。所以要么:1)pg_hba.conf文件已更改 2)错误中列出的一个或多个参数的连接已更改。 -
@AdrianKlaver - 谢谢,Heroku 提供的 pg_hba.conf 也是如此,或者我是否可以直接访问在某处进行编辑(我在我的快速应用程序中看不到它)。当您说其中一个参数的连接已更改时,您的意思是主机、用户或数据库可能以某种方式不正确吗?
-
最好的猜测是:
SSL off。我对 Heroku 不太熟悉,但我相信它需要SSL连接。我要说至少您的一个客户正在尝试非 SSL 连接。您可能应该回顾您在客户端所做的更改,看看是否有任何与连接属性和/或 Postgres 潜水员更改有关。 -
@AdrianKlaver - 非常感谢,我已尝试将更改恢复到以前的提交,但错误仍然存在。它也从 Postman 中持续存在,所以这是否意味着它可能不是 React 客户端?
-
我正在找工作,每天都有几个人在克隆存储库。我不想听起来很阴谋,但有没有可能有人“黑了”我或对他们做了什么?
标签: node.js postgresql heroku