You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决TypeORM连接本地SQL Server的自签名证书错误?

解决TypeORM连接本地SQL Server自签名证书错误的方案

排查要点与修复步骤

1. 修正trustServerCertificate的配置层级

TypeORM 0.3.x版本中,针对mssql的配置参数trustServerCertificate无需嵌套在options对象内,需直接放在数据源配置的顶层。原配置的层级错误导致该参数未生效,修改后的完整配置如下:

import { DataSource } from 'typeorm';

export const AppDataSource = new DataSource({
  type: "mssql",
  entities: [
    "dist/**/*.entity{.ts,.js}",
  ],
  migrationsTableName: "migrations_history",
  migrations: [
    "dist/src/migrations/*{.ts,.js}",
  ],
  synchronize: false,
  logging: true,
  database: "MyDb",
  port: 1433,
  host: "localhost",
  username: "MyUserName",
  password: "MyPassword",
  encrypt: true,
  trustServerCertificate: true, // 移至顶层,取消options嵌套
});

2. 清除缓存并重启应用

旧配置缓存可能导致修改不生效,执行以下操作:

  • 删除项目根目录下的dist文件夹,重新编译代码
  • 重启NestJS应用,确保新配置被正确加载

3. 验证SQL Server证书配置

若问题仍存在,检查本地SQL Server的证书设置:

  • 打开SQL Server配置管理器,找到SQL Server网络配置 -> MSSQLSERVER的协议
  • 右键点击TCP/IP,选择属性 -> 证书标签,确认自签名证书状态正常
  • 若证书异常,可尝试重新生成SQL Server自签名证书

4. 排查版本兼容性

当前TypeORM 0.3.17与mssql 9.3.2理论兼容,若问题持续,可尝试:

  • 将mssql版本降级至9.2.x
  • 升级TypeORM至最新稳定版,排除版本适配问题

内容的提问来源于stack exchange,提问作者François

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 22:35:04