2016-02-25 70 views
6

私はバックエンド開発の初心者です。そして、私はノードにコードを書いているのを楽しんでいます。しかし、私はちょうど把握できないようなものはほとんどありません。Node.JSエラーprocess.env.NODE_TLS_REJECT_UNAUTHORIZED。これは何を意味するのでしょうか?

Error: DEPTH_ZERO_SELF_SIGNED_CERT

は、私は次のコードを実装することによってそれを修正:

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

私たちは環境を設定している理解し、私は次のエラーを取得保管しました。しかし、これは普通の言葉ではどういう意味ですか?私はそれを誰かに説明する方法を知らない。多くの情報がありますが、それを修正する方法はありますが、これは実際には何かを見つけることができません。です。

誰かが説明できますか?

答えて

9

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

あなたの「修正」は、許可されていない証明書を許可することによって、ノードが自己署名証明書を拒否するのを無効にすることです。

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

自己署名証明書を信頼できるルートストアに配置するか、既存の認証局(既にサーバーによって信頼されている)によって署名された適切な証明書を取得するのが適切なソリューションです。

追加点として、あなたのログは、このように

+0

「無効/不正証明書の無効化ノードの拒否」をお読みくださいこれを共有するためにありがとうございました。 –

+0

便利な説明、ありがとう! –

関連する問題