📌  相关文章
📜  对 https 的请求:registry.npmjs.org webpack 失败,原因:无法获取本地颁发者证书 - Javascript (1)

📅  最后修改于: 2023-12-03 15:39:09.267000             🧑  作者: Mango

对 https 的请求:registry.npmjs.org webpack 失败,原因:无法获取本地颁发者证书 - Javascript

在使用 webpack 打包项目时,遇到了 "Unable to get local issuer certificate" 的错误提示。这个错误会出现在 https 的请求中,因为请求需要使用本地颁发者证书,而证书可能由于各种原因无法获取。

解决办法:

  1. 更新本地证书

在命令行中执行以下命令,更新本地证书:

npm config set cafile /path/to/new.pem
  1. 忽略证书验证

在 webpack 配置文件中添加以下代码,忽略证书验证:

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
  1. 手动信任证书

如果不适用上述方法,可以手动信任证书:

  • 首先,需要从请求的 https 地址中,复制证书信息到本地。
openssl s_client -connect any.https.host:port -showcerts
  • 然后,将证书信息复制到本地文件中。

  • 最后,在代码中引用:

const fs = require('fs');
const https = require('https');
const agent = new https.Agent({
    ca: fs.readFileSync('/path/to/cert.pem')
});

https.get('https://registry.npmjs.org', {agent}, (res) => {
    // do something
});

以上是对这个问题的描述和解决方案。希望能对程序员们有所帮助。