Node.JS Error- process.env.NODE_TLS_REJECT_UNAUTHORIZED。 这是什么意思?

我是后端开发的新手。 而且我非常喜欢在节点中编写代码。 但是,我似乎无法把握的东西很less。 我不断收到以下错误:

错误:DEPTH_ZERO_SELF_SIGNED_CERT

我通过执行下面的代码来修复它:

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

我知道我们正在设定一个环境。 但是,这是什么意思用通俗的语言? 我不知道如何向别人解释。 有很多onof信息,如何解决它,但我什么都没有find这实际上什么意思

有人可以解释吗?

节点正在抱怨,因为它给出的TLS(SSL)证书是自签名的(即它没有父 – 深度为0)。 它期望find一个由您的操作系统中安装的另一个证书签名的证书作为受信任的根。

您的“修复”是通过允许任何未经授权的证书来禁止节点拒绝自签名证书。

你的修复是不安全的,根本不应该完成,但通常是在开发中完成(它不应该在生产中完成)。

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

另外一点,您的日志logging应该这样读取“禁用节点拒绝无效/未授权证书”