API 调用 Node 时的 Heroku postgres 超时和 SSL 问题
Heroku postgres timeout and SSL issues on API calls with Node
我正在尝试将我的 REST API 内置于 Node 和 PostgresSQL 到 Heroku。所以,我创建了我的 Heroku 应用程序,并创建了他自己的数据库。在这一点上,我尝试提交,构建工作正常。直到我尝试调用 API。如果我做的 api 调用有不正确的方法,或者不存在,它会给我正确的错误,但是当调用正确时,会出现 503 错误,代码为 H12,描述为超时错误。这是我正在测试的对数据库的调用之一的代码:
router.get('/allpoints', async (req,res) =>{
try {
const points = await pool.query(
`SELECT nome, latitudine,longitudine
FROM luogo`);
res.json(points.rows);
}catch(err){
console.error(err.message);
}
});
这里有关于我如何连接到数据库的信息。
const pool = new Pool({
connectionString: process.env.DATABASE_URL || 'postgresql://postgres:psw@localhost:5432/campione',
ssl: process.env.DATABASE_URL ? true : false
})
module.exports = pool;
Heroku 上的构建似乎工作正常。
我读了这个问题:
它说你必须把res.end()放在没有res.json()的地方,但是这里有res.json()。所以,我认为问题可能是路线管理存在错误,并且无法回馈任何东西。因此,我将 console.log(err)
更改为 res.json(err)
,并将带有 `ssl 自签名的 API 响应作为错误。此时,在第二个文件中,我默认将 ssl 设置为 false,但它给了我错误,因为没有 SSL。我找了很长时间的解决方案,但我还没有解决这个问题。
有人认为他知道我应该改变什么?谢谢指教
数据库配置中的这个选项可能有用
ssl: {
rejectUnauthorized : false,
}
我正在尝试将我的 REST API 内置于 Node 和 PostgresSQL 到 Heroku。所以,我创建了我的 Heroku 应用程序,并创建了他自己的数据库。在这一点上,我尝试提交,构建工作正常。直到我尝试调用 API。如果我做的 api 调用有不正确的方法,或者不存在,它会给我正确的错误,但是当调用正确时,会出现 503 错误,代码为 H12,描述为超时错误。这是我正在测试的对数据库的调用之一的代码:
router.get('/allpoints', async (req,res) =>{
try {
const points = await pool.query(
`SELECT nome, latitudine,longitudine
FROM luogo`);
res.json(points.rows);
}catch(err){
console.error(err.message);
}
});
这里有关于我如何连接到数据库的信息。
const pool = new Pool({
connectionString: process.env.DATABASE_URL || 'postgresql://postgres:psw@localhost:5432/campione',
ssl: process.env.DATABASE_URL ? true : false
})
module.exports = pool;
Heroku 上的构建似乎工作正常。
我读了这个问题:
它说你必须把res.end()放在没有res.json()的地方,但是这里有res.json()。所以,我认为问题可能是路线管理存在错误,并且无法回馈任何东西。因此,我将 console.log(err)
更改为 res.json(err)
,并将带有 `ssl 自签名的 API 响应作为错误。此时,在第二个文件中,我默认将 ssl 设置为 false,但它给了我错误,因为没有 SSL。我找了很长时间的解决方案,但我还没有解决这个问题。
有人认为他知道我应该改变什么?谢谢指教
数据库配置中的这个选项可能有用
ssl: {
rejectUnauthorized : false,
}