La soluzione per l'errore è aggiungere questa riga all'inizio del codice:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
Se stai eseguendo Charles e provi a creare un contenitore docker, molto probabilmente riceverai questo errore.
Assicurati di disabilitare il proxy Charles (macos) in proxy -> macOS proxy
Charles è un
Proxy HTTP/monitor HTTP/proxy inverso che consente a uno sviluppatore di visualizzare tutto il traffico HTTP e SSL/HTTPS tra la propria macchina e Internet.
Quindi qualcosa di simile potrebbe causare lo stesso problema.
Ecco una riga per verificare che il certificato sia firmato da una CA specifica:
openssl verify -verbose -x509_strict -CAfile ca.pem certificate.pem
Ciò non richiede l'installazione di CA ovunque.
Vedi Come funziona un pacchetto di catene di certificati SSL? per i dettagli e la corretta gestione della catena di certificati.
Hai un certificato autofirmato, quindi non attendibile per impostazione predefinita, ecco perché OpenSSL si lamenta. Questo avviso è in realtà una buona cosa, perché questo scenario potrebbe anche aumentare a causa di un attacco man-in-the-middle.
Per risolvere questo problema, dovrai installarlo come server attendibile. Se è firmato da una CA non attendibile, dovrai installare anche il certificato di quella CA.
Dai un'occhiata a questo link sull'installazione di certificati autofirmati.