节点.JS错误 - process.env.NODE_TLS_REJECT_UNAUTHORIZED.这是什么意思

Node.JS Error- process.env.NODE_TLS_REJECT_UNAUTHORIZED. What does this mean?

本文关键字:REJECT TLS UNAUTHORIZED 意思 是什么 NODE 错误 JS process env 节点      更新时间:2023-09-26

我是后端开发的新手。我真的很喜欢在节点中编写代码。但是,我似乎无法理解的几件事很少。我一直收到以下错误:

错误:DEPTH_ZERO_SELF_SIGNED_CERT

我通过实现以下代码修复了它:

if ('development' == app.get('env')) {
    console.log("Rejecting node tls");
    process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
}

我知道我们正在设置一个环境。但是,这在通俗易懂的语言中意味着什么?我不知道如何向别人解释。有很多信息,如何解决它,但我找不到任何关于这实际上意味着什么的信息。

有人可以解释一下吗?

Node 抱怨,因为它被赋予的 TLS (SSL) 证书是自签名的(即它没有父级 - 深度为 0)。它希望找到由另一个证书签名的证书,该证书作为受信任的根安装在您的操作系统中。

您的"修复"是通过允许任何未经授权的证书来禁用 Node 拒绝自签名证书。

您的修复是不安全的,根本不应该真正完成,但通常在开发中完成(永远不应该在生产中完成)。

正确的解决方案应该是将自签名证书放在受信任的根存储中,或者获取由现有证书颁发机构(已受服务器信任)签名的正确证书。

作为补充一点,您的日志记录应显示为"禁用 Node 拒绝无效/未经授权的证书"