Estoy trabajando en una pequeña aplicación que inicia sesión en mi enrutador inalámbrico local (Linksys) pero tengo un problema con el certificado SSL autofirmado del enrutador.
Ejecuté wget 192.168.1.1 y obtuve:
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'.
En el nodo, el error que se detecta es:
{ [Error: socket hang up] code: 'ECONNRESET' }
Mi código de muestra actual es:
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);
});
¿Cómo puedo hacer para que node.js haga el equivalente de "--no-check-certificate"?
node.js
https
ssl-certificate
Geuis
fuente
fuente
En sus opciones de solicitud, intente incluir lo siguiente:
fuente
rejectUnauthorized
opción y nada másrejectUnauthorized
fue lo suficientemente bueno todo lo demás ootb. Uso dentro de la extensión de código vs. Mejor aún, permita la configuración de PEM, lo haré después ...No creas a todos los que intentan engañarte
En su solicitud, solo agregue:
Si activa certificados no autorizados, no estará protegido (expuesto a MITM por no validar la identidad), y trabajar sin SSL no será una gran diferencia. La solución es especificar el certificado de CA que espera como se muestra en el siguiente fragmento. Asegúrese de que el nombre común del certificado sea idéntico a la dirección que llamó en la solicitud (como se especifica en el host):
Lo que obtendrá entonces es:
Lea este artículo (divulgación: publicación de blog escrita por el autor de esta respuesta) aquí para comprender:
fuente
Agregue la siguiente variable de entorno:
por ejemplo con
export
:(con muchas gracias a Juanra)
fuente
webdriver-manager update
Agregando a @Armand respuesta:
Si usa Windows:
Gracias a: @ weagle08
fuente
También puede crear una instancia de solicitud con opciones predeterminadas:
fuente
Para meteorJS puede configurar con npmRequestOptions.
fuente
O puede intentar agregar una resolución de nombre local (el
hosts
archivo se encuentra en el directorioetc
en la mayoría de los sistemas operativos, los detalles difieren) algo como esto:y después
trabajará.
fuente
rejectUnauthorized: false