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

Let's Encrypt根证书过期致Heroku上Node 8.9.0应用无法调用API求临时方案

临时修复方案(无需升级Node.js版本)
  • 方案1:配置Node使用系统根证书存储(零代码改动,优先推荐)
    Node 8.x默认使用内置的旧根证书列表,包含已过期的DST Root CA X3,你可以直接在Heroku后台的配置变量页新增环境变量:
    NODE_OPTIONS=--use-openssl-ca
    
    配置完成后重启dyno即可生效,Heroku底层系统的根证书存储已经更新了有效的ISRG Root X1根证书,Node会直接调用系统层的证书校验逻辑,不会再触发过期错误。
  • 方案2:手动指定信任ISRG Root X1根证书
    你可以将公开的ISRG Root X1根证书PEM文件放到你的项目根目录,在应用入口文件最开头添加以下代码,全局覆盖HTTPS请求的默认信任证书:
    const fs = require('fs');
    const https = require('https');
    https.globalAgent.options.ca = fs.readFileSync(`${__dirname}/isrgrootx1.pem`);
    
    如果你只针对特定请求修改,也可以单独给对应请求的配置传入ca参数即可。
  • 方案3:临时关闭TLS证书校验(仅应急使用,风险较高)
    如果你需要最快速度恢复业务,可以针对确认安全的目标API域名,在请求配置中添加rejectUnauthorized: false参数;如果需要全局生效,可在入口文件最开头添加:
    process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
    
    注意该方案会忽略所有TLS证书校验,存在中间人攻击风险,仅适合临时应急,完成版本升级后必须立即移除。

注意:以上方案均为临时过渡方案,Node 8.x早已停止官方安全维护,建议你尽快排期完成Node版本升级到官方支持的LTS版本,从根本上解决根证书更新、安全漏洞等各类问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 15:15:05