Je travaille sur une petite application qui se connecte à mon routeur sans fil local (Linksys) mais je rencontre un problème avec le certificat SSL auto-signé du routeur.
J'ai exécuté wget 192.168.1.1 et j'ai obtenu:
ERROR: cannot verify 192.168.1.1's certificate, issued by `/C=US/ST=California/L=Irvine/O=Cisco-Linksys, LLC/OU=Division/CN=Linksys/[email protected]':
Self-signed certificate encountered.
ERROR: certificate common name `Linksys' doesn't match requested host name `192.168.1.1'.
To connect to 192.168.1.1 insecurely, use `--no-check-certificate'.
Dans le nœud, l'erreur détectée est:
{ [Error: socket hang up] code: 'ECONNRESET' }
Mon exemple de code actuel est:
var req = https.request({
host: '192.168.1.1',
port: 443,
path: '/',
method: 'GET'
}, function(res){
var body = [];
res.on('data', function(data){
body.push(data);
});
res.on('end', function(){
console.log( body.join('') );
});
});
req.end();
req.on('error', function(err){
console.log(err);
});
Comment puis-je obtenir que node.js fasse l'équivalent de "--no-check-certificate"?
node.js
https
ssl-certificate
Geuis
la source
la source
Dans vos options de demande, essayez d'inclure les éléments suivants:
la source
rejectUnauthorized
option et rien d'autrerejectUnauthorized
était juste assez bon tout le reste ootb. Utilisation dans l'extension vs vs code. Mieux encore autoriser la configuration PEM, je le ferai ensuite ...Ne croyez pas tous ceux qui essaient de vous induire en erreur.
Dans votre demande, ajoutez simplement:
Si vous activez des certificats non autorisés, vous ne serez pas du tout protégé (exposé à MITM pour ne pas valider l'identité), et travailler sans SSL ne fera pas une grande différence. La solution consiste à spécifier le certificat CA que vous attendez, comme indiqué dans l'extrait de code suivant. Assurez-vous que le nom commun du certificat est identique à l'adresse que vous avez appelée dans la demande (comme spécifié dans l'hôte):
Vous obtiendrez alors:
Veuillez lire cet article (divulgation: article de blog écrit par l'auteur de cette réponse) ici afin de comprendre:
la source
Ajoutez la variable d'environnement suivante:
par exemple avec
export
:(avec un grand merci à Juanra)
la source
webdriver-manager update
Ajout à la réponse @Armand:
Si vous utilisez Windows:
Merci à: @ weagle08
la source
Vous pouvez également créer une instance de demande avec des options par défaut:
la source
Pour meteorJS, vous pouvez définir avec npmRequestOptions.
la source
Ou vous pouvez essayer d'ajouter dans la résolution de nom locale (
hosts
fichier trouvé dans le répertoireetc
dans la plupart des systèmes d'exploitation, les détails diffèrent) quelque chose comme ceci:et ensuite
marchera.
la source
rejectUnauthorized: false