kye*_*ego 6 postgresql typeorm nestjs
我想连接到远程 PostgreSQL 数据库(托管在 Heroku 上)并收到此错误:
error: no pg_hba.conf entry for host "<My public IP address>", user "<username>", database "<dbname>", SSL off
Run Code Online (Sandbox Code Playgroud)
这是我的app.module.ts
import { Module } from '@nestjs/common';
import { TypeOrmModule, TypeOrmModuleOptions } from '@nestjs/typeorm';
const cfg: TypeOrmModuleOptions = {
type: 'postgres',
host: process.env.DB_HOST,
database: process.env.DB_NAME,
username: process.env.DB_USER,
password: process.env.DB_PASSWORD,
port: Number(process.env.DB_PORT),
};
@Module({
imports: [TypeOrmModule.forRoot(cfg)],
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)
每个DB_*变量都与 Heroku 中的相应值匹配Database Credentials
我认为问题出在 中的某个地方TypeORM,因为使用相同的文件值连接到相同的数据库.env在我的其他应用程序中有效(用不同的编程语言编写)
关于可能出什么问题的任何想法吗?
为了解决这个问题,我必须在我的 cfg 对象中添加这些行:
ssl: true,
extra: {
ssl: {
rejectUnauthorized: false,
},
},
Run Code Online (Sandbox Code Playgroud)
通过该ssl: true选项,我们将不得不使用 SSL 证书,但我们还没有。
理想的解决方案是获取新的 SSL 证书,但对于开发来说这应该足够了。
| 归档时间: |
|
| 查看次数: |
6851 次 |
| 最近记录: |