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

Node.js执行node .命令时遇UNABLE_TO_GET_ISSUER_CERT_LOCALLY错误求助

解决Node.js中"UNABLE_TO_GET_ISSUER_CERT_LOCALLY"错误(Discord.js场景)

问题重现

运行node .时触发以下错误:

node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^

Error: unable to get local issuer certificate
    at TLSSocket.onConnectSecure (node:_tls_wrap:1674:34)
    at TLSSocket.emit (node:events:518:28)
    at TLSSocket._finishInit (node:_tls_wrap:1085:8)
    at ssl.onhandshakedone (node:_tls_wrap:871:12) {
  code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY'
}

环境版本:NPM v10.4.0 | Node v20.11.0 | Discord.js v14.14.1

可行解决方案

1. 开发环境临时绕过验证(应急用)

仅适合本地开发调试,生产环境绝对禁止:

  • 命令行临时设置环境变量:
    # Linux/macOS
    NODE_TLS_REJECT_UNAUTHORIZED=0 node .
    
    # Windows CMD
    set NODE_TLS_REJECT_UNAUTHORIZED=0 && node .
    
  • 代码中全局设置(入口文件最顶部添加):
    process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
    

2. 配置可信根证书(推荐生产/长期解决)

这个错误本质是Node无法找到验证SSL连接的可信CA证书,可通过以下方式修复:

  • 下载Mozilla官方根证书包,保存为root-ca.pem,然后指定环境变量:
    # Linux/macOS
    export NODE_EXTRA_CA_CERTS="/绝对路径/root-ca.pem"
    node .
    
    # Windows CMD
    set NODE_EXTRA_CA_CERTS="C:\绝对路径\root-ca.pem"
    node .
    
  • 或者通过npm全局配置证书:
    npm config set cafile "/绝对路径/root-ca.pem"
    

3. 针对Discord.js的请求配置调整

修改Discord.js的REST客户端代理设置,强制指定证书验证规则:

const { Client, GatewayIntentBits, REST } = require('discord.js');
const https = require('https');

// 开发环境用这个,生产环境替换为正确的agent配置
const sslAgent = new https.Agent({
  rejectUnauthorized: false
});

// 初始化REST客户端时绑定agent
const rest = new REST({ version: '10' })
  .setToken('你的Bot令牌')
  .setAgent(sslAgent);

// 创建Client时传入rest配置
const client = new Client({
  intents: [GatewayIntentBits.Guilds],
  rest: { agent: sslAgent }
});

注意事项

  • 生产环境必须使用可信CA证书,禁用证书验证会导致中间人攻击风险;
  • 如果是公司内网环境,可能需要配置内网CA证书路径。

内容的提问来源于stack exchange,提问作者MichelDev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:59:55