2016-02-25 8 views
6

Ich bin neu in der Back-End-Entwicklung. Und ich genieße es wirklich, Code in Knoten zu schreiben. Aber es gibt nur wenige Dinge, die ich nicht zu erfassen vermag. Ich hielt die folgende Fehlermeldung erhalten:Node.JS Error- process.env.NODE_TLS_REJECT_UNAUTHORIZED. Was bedeutet das?

Error: DEPTH_ZERO_SELF_SIGNED_CERT

ich es fest, indem Sie den folgenden Code Implementierung:

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

Ich verstehe wir eine Umgebung setzen. Aber was bedeutet das in einer einfachen Sprache? Ich weiß nicht, wie ich es jemand anderem erklären soll. Es gibt eine Menge onofinfo, wie man es repariert, aber ich kann nichts finden, was dieses bedeutet.

Kann jemand erklären?

Antwort

9

Knoten beschweren sich, weil das TLS (SSL) -Zertifikat, das es erhalten hat, selbstsigniert ist (d. H. Es hat keine Eltern - eine Tiefe von 0). Es erwartet ein Zertifikat, das von einem anderen Zertifikat signiert wurde, das in Ihrem Betriebssystem als vertrauenswürdiges Root installiert ist.

Ihr "Fix" ist, den Knoten davon abzuhalten, selbstsignierte Zertifikate abzulehnen, indem Sie JEDES nicht autorisierte Zertifikat zulassen.

Ihr fix ist unsicher und sollte nicht wirklich überhaupt durchgeführt werden, wird aber oft in der Entwicklung getan (es sollte nie in der Produktion durchgeführt werden).

soll die richtige Lösung das selbstsignierten Zertifikat in Ihrem vertrauenswürdigen Stammspeicher zu setzen oder ein richtiges Zertifikat von einer bestehenden Zertifizierungsstelle (die von Ihrem Server bereits vertraut) unterzeichnet zu bekommen.

Als zusätzlicher Punkt Ihre Protokollierung so „Deaktivieren Knoten Ablehnung ungültig/nicht autorisierte Zertifikate“

+0

Vielen Dank für die gemeinsame Nutzung dieses lesen sollte. –

+0

Nützliche Erklärung, danke! –