VS Code 1.82.2下TypeScript调用Rest API遇UNABLE_TO_GET_ISSUER_CERT_LOCALLY错误的解决方法
解决VS Code 1.82.2中TypeScript调用Rest API的SSL证书验证错误
以下是无需跳过SSL证书验证的可行解决方案:
1. 导入本地根CA证书到Node.js信任列表
- 先导出API服务器的根CA证书:打开浏览器访问目标API域名,点击地址栏的锁图标→证书→证书路径→选中最上层的根CA证书→导出为
.crt格式文件(比如保存到C:\certs\root-ca.crt)。 - 临时生效:在VS Code的终端中执行对应命令:
- CMD:
set NODE_EXTRA_CA_CERTS=C:\certs\root-ca.crt - PowerShell:
$env:NODE_EXTRA_CA_CERTS="C:\certs\root-ca.crt"
- CMD:
- 永久生效:打开Windows系统属性→高级→环境变量,点击「系统变量」下的「新建」,变量名填
NODE_EXTRA_CA_CERTS,变量值填证书文件的绝对路径,保存后重启VS Code。
2. 配置VS Code内置Node.js使用系统证书存储
VS Code 1.82版本可能调整了内置Node.js的证书策略,可通过配置让它优先使用Windows系统信任的证书:
- 打开VS Code的设置(快捷键
Ctrl+,),点击右上角的「打开设置(JSON)」图标,添加以下配置:{ "terminal.integrated.env.windows": { "NODE_OPTIONS": "--use-openssl-ca" } } - 保存配置后重启VS Code,内置Node.js会读取Windows系统证书存储中的信任证书。
3. 升级项目使用的Node.js版本
如果你的项目使用的是外部Node.js(而非VS Code内置版本),旧版本Node.js可能缺少部分根CA证书:
- 升级到最新LTS版本(如18.x或20.x),新版本会包含更完整的根证书列表。
- 若用nvm管理Node版本,执行
nvm install lts/*切换到最新LTS版本,再执行nvm use lts/*生效。
4. 检查API服务器的证书链完整性
部分情况下错误是因API服务器证书链不完整导致:
- 用OpenSSL命令检查证书链:
openssl s_client -connect your-api-domain:443 - 若输出中出现
unable to get local issuer certificate,说明服务器缺少中间证书,需联系API服务方补充完整证书链。
内容的提问来源于stack exchange,提问作者ajayg
相关产品推荐
相关产品推荐

