📌  相关文章
📜  纱线无法验证本地颁发者证书 (1)

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

纱线无法验证本地颁发者证书

当你在使用纱线进行开发时,可能会遇到以下错误提示:

unable to verify the local issuer certificate

这是因为纱线无法验证本地颁发者证书,造成证书认证失败的情况。这可能会导致一些问题,如无法连接到服务端、无法进行 HTTPS 请求等。

解决方案

有两种解决方案可以解决这个问题。

方案一:禁用证书验证

一种解决方式是在当前操作系统上禁用证书验证。这种方式适用于在测试环境下,不适用于生产环境下。

Windows 环境

在 Windows 环境下,可以通过执行以下命令禁用证书验证:

set NODE_TLS_REJECT_UNAUTHORIZED=0

Linux 或 macOS 环境

在 Linux 或 macOS 环境下,可以通过执行以下命令禁用证书验证:

export NODE_TLS_REJECT_UNAUTHORIZED=0

通过这种方式禁用证书验证后,可能会存在一定的安全风险,请在生产环境下谨慎使用。

方案二:信任根证书

另一种解决方式是将根证书添加到纱线的信任证书列表中。这种方式适用于生产环境下。

导出根证书

首先,需要将根证书导出。可以通过以下步骤实现:

  1. 在浏览器中打开服务端地址;
  2. 单击地址栏中的安全锁,选择“证书”;
  3. 选择“颁发者路径”选项卡,然后单击根证书;
  4. 选择“详情”选项卡,然后单击“复制到文件”按钮;
  5. 选择“下一步”按钮,选择“Base-64 编码的 X.509 (.CER)”格式;
  6. 选择导出文件的路径和文件名。

添加信任证书

将导出的根证书添加到纱线的信任证书列表中。可以通过以下命令实现:

export NODE_EXTRA_CA_CERTS=<path-to-trusted-cert>

其中,<path-to-trusted-cert> 是你导出根证书文件的路径和文件名。

如果你需要添加多个根证书,可以通过以下命令实现:

export NODE_EXTRA_CA_CERTS="<path-to-cert-1>:<path-to-cert-2>"

通过这种方式添加信任证书后,纱线就可以信任证书颁发者了,不再提示证书验证错误。

总结

无法验证本地颁发者证书可能会对开发造成一定影响。本文介绍了两种解决方式,通过禁用证书验证或添加信任证书,都可以解决这个问题。请根据实际情况选择合适的解决方案。