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

Angular CLI代理请求遇SELF_SIGNED_CERT_IN_CHAIN错误,npm如何处理?

解决npm中SELF_SIGNED_CERT_IN_CHAIN错误的几种方案

我经常碰到开发者在企业内部环境里遇到这个自签名证书的问题,和WAS里添加证书到信任库的思路一致,npm里也有对应的合规解决方式,给你分享几个实用方案:

方案1:临时禁用SSL证书校验(仅测试环境使用)

如果只是临时测试需求,可以快速关闭npm的严格SSL校验,但绝对不推荐在生产环境使用,因为会带来安全风险。执行以下命令:

npm config set strict-ssl false

测试完成后记得恢复设置:

npm config set strict-ssl true

方案2:将自签名证书添加到npm信任证书库(推荐生产环境)

这是最规范的做法,和WAS中添加证书到信任库逻辑一致,步骤如下:

  • 首先导出你需要信任的自签名证书(可以从浏览器导出为.pem格式的证书文件)
  • 执行npm命令将证书路径配置到npm的信任列表中:
npm config set cafile "/绝对路径/到/你的证书文件.pem"
  • 验证配置是否生效,执行命令查看当前设置的证书路径:
npm config get cafile

返回结果应该是你刚才设置的证书文件绝对路径,说明配置成功。

方案3:通过环境变量全局配置信任证书

如果需要让所有Node.js相关工具(包括npm)都信任这个自签名证书,可以配置环境变量:

  • Windows系统(命令行临时生效):
set NODE_EXTRA_CA_CERTS=C:\绝对路径\到\证书文件.pem

如果要永久生效,需要在系统环境变量中添加NODE_EXTRA_CA_CERTS,值为证书的绝对路径。

  • Linux/macOS系统(bash/zsh临时生效):
export NODE_EXTRA_CA_CERTS=/绝对路径/到/证书文件.pem

永久生效的话,将上述命令添加到~/.bashrc(bash)或~/.zshrc(zsh)文件中,执行source ~/.bashrc或source ~/.zshrc使配置立即生效。

注意事项

  • 所有证书路径请使用绝对路径,避免相对路径导致的配置失效
  • 确保证书文件的权限设置正确,npm进程能够读取该文件
  • 生产环境优先选择方案2或方案3,禁用SSL校验(方案1)仅作为临时测试手段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:50:29