2016-02-25 27 views
6

Sono nuovo nello sviluppo back-end. E mi piace davvero scrivere codice nel nodo. Tuttavia, ci sono poche cose che non riesco a capire. Ho continuato a ottenere il seguente errore:Errore Node.JS- process.env.NODE_TLS_REJECT_UNAUTHORIZED. Cosa significa questo?

Error: DEPTH_ZERO_SELF_SIGNED_CERT

ho riparato implementando il seguente codice:

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

ho capito stiamo allestendo un ambiente. Ma cosa significa questo in un linguaggio semplice? Non so come spiegarlo a qualcun altro. Ci sono molte informazioni su come risolverlo, ma non riesco a trovare nulla su ciò che in realtà significa questo significa.

Qualcuno può spiegare?

risposta

9

Il nodo si lamenta perché il certificato TLS (SSL) che è stato assegnato è autofirmato (cioè non ha un genitore - una profondità di 0). Si aspetta di trovare un certificato firmato da un altro certificato che è installato nel tuo sistema operativo come root attendibile.

La "correzione" è di disabilitare il nodo dal rifiuto dei certificati autofirmati, consentendo QUALSIASI certificato non autorizzato.

La correzione non è sicura e non dovrebbe essere eseguita affatto, ma viene spesso eseguita in fase di sviluppo (non dovrebbe mai essere eseguita in produzione).

La soluzione corretta dovrebbe essere quella di inserire il certificato autofirmato nel proprio archivio radice attendibile OPPURE ottenere un certificato corretto firmato da un'autorità di certificazione esistente (che è già attendibile dal proprio server).

Come un ulteriore punto tua registrazione dovrebbe quindi leggere "il rifiuto di invalidi/certificati non autorizzate di disattivazione Nodo"

+0

Grazie mille per la condivisione di questo. –

+0

Spiegazione utile, grazie! –

Problemi correlati