J'essaie de faire un appel https
en utilisant le module request
, ci-dessous les options existantes
et j'ai le fichier pfx
et password
.
strictSSL: false,
rejectUnauthorized: false,
agent: false
Quelqu'un peut-il m'aider à savoir ce qui doit être défini comme vrai et dois-je exporter des fichiers cert
.
Si possible, partagez la commande openssl
pour cela.
J'ai essayé d'exporter cert
et j'ai fait strictSSL and rejectUnauthorized true
, mais j'ai fini par voir une erreur comme
message: 'Error: unable to verify the first certificate'
La version du nœud est 6.9.2
Avez-vous essayé en définissant
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'
@rpgeeganage ce n'est pas un moyen préféré.
Pile d'erreurs complète
{ Error: unable to verify the first certificate
at Error (native)
at TLSSocket.<anonymous> (_tls_wrap.js:1085:38)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:185:7)
at TLSSocket._finishInit (_tls_wrap.js:603:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } 'error'
J'ai rencontré ce problème aussi. Avez-vous trouvé une solution de contournement @tomalex0 ?
Une mise à jour pour ceci?
J'ai également rencontré ce problème.
Pour contourner le problème, désactivez l'exigence selon laquelle les certificats SSL doivent être valides et ignorez-les complètement. Ajoutez "strictSSL : false" comme tel :
{
url: "https://...",
method: "POST",
headers: {
"Content-Type": "application/json"},
strictSSL: false
}
Mon serveur est dans un réseau privé (pas d'accès Internet) et il devrait fonctionner là-bas et j'ai signé le certificat et je lui fais confiance avec ma propre autorité de certification... J'obtiens l'erreur UNABLE_TO_VERIFY_LEAF_SIGNATURE
même lorsque j'ajoute le fichier ca.pem à options.agentOptions.ca. Que dois-je faire pour corriger cette erreur évidemment sans désactiver l'option strictSSL ou toute autre option non sécurisée ?
Dans mon cas, un certificat SSL que j'ai généré avec LetsEncrypt fonctionne bien avec la bibliothèque node https ou avec la bibliothèque de requête. Cependant, l'utilisation du même certificat sur le port 443 (qui fonctionne correctement à partir des composants Golang de mon système et fonctionne correctement dans Chrome) étouffe complètement la bibliothèque https de Node et la bibliothèque de requêtes, toutes deux avec la même erreur. J'essaie toujours de comprendre ce qui ne va pas ici, mais au moins dans ce cas, ces hacks de l'autorité de certification racine semblent ne pas fonctionner.
Ce problème a été automatiquement marqué comme obsolète, car il n'a pas eu d'activité récente. Il sera fermé s'il n'y a plus d'activité. Merci pour vos contributions.
personne pour le suivre de si près et prétendre que cela n'arrivera jamais ?
mon URL fonctionne bien avec tous les navigateurs mais pas "request.js"
J'obtenais la même erreur. Corrigé en marquant strictSSL comme faux, le code ci-dessous a fonctionné pour moi.
var client = nouveau RestClient({
lien: {
pfx : fs.readFileSync(certFile),
phrase de passe : certPassword,
strictSSL : faux,
rejeterNon autorisé : faux,
mandataire : faux
}
});
J'utilise l'architecture client node rest pour mon API.
J'espère que cela pourra aider tous ceux qui recherchent une solution similaire
Essaye ça:
var request = require("request").defaults({rejectUnauthorized:false});
Commentaire le plus utile
Pour contourner le problème, désactivez l'exigence selon laquelle les certificats SSL doivent être valides et ignorez-les complètement. Ajoutez "strictSSL : false" comme tel :