web-dev-qa-db-ja.com

Node.JSエラー-process.env.NODE_TLS_REJECT_UNAUTHORIZED。これは何を意味するのでしょうか?

バックエンド開発は初めてです。そして、私はノードでコードを書くのを本当に楽しんでいます。しかし、私が把握できないと思われることがいくつかあります。次のエラーが表示され続けました。

エラー:DEPTH_ZERO_SELF_SIGNED_CERT

次のコードを実装して修正しました。

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

環境を整えていることを理解しています。しかし、これは平易な言語ではどういう意味ですか?他の人に説明する方法がわかりません。多くの情報、それを修正する方法がありますが、実際にこれを行うものについては何も見つけることができませんmean

誰か説明できますか?

16
Mihir Patel

与えられたTLS(SSL)証明書が自己署名されている(つまり、親がなく、深さが0である)ため、ノードは文句を言います。 OSに信頼されたルートとしてインストールされている別の証明書によって署名された証明書を見つけることを期待しています。

「修正」は、Nodeが不正な証明書を許可することにより自己署名証明書を拒否することを無効にすることです。

あなたの修正は安全ではなく、実際に行うべきではありませんが、多くの場合、開発で行われます(本番では絶対に行わないでください)。

適切な解決策は、自己署名証明書を信頼できるルートストアに置くことですOR既存の認証局(サーバーによって既に信頼されている)によって署名された適切な証明書を取得します。

追加のポイントとして、ログは「無効/不正な証明書のノードによる拒否を無効にする」と読みます。

22