Request: Hacer una llamada HTTPS desde el módulo de solicitud

Creado en 8 ene. 2017  ·  12Comentarios  ·  Fuente: request/request

Estoy tratando de hacer una llamada https usando el módulo request , a continuación se muestran las opciones existentes actuales
y tengo un archivo pfx y password .

strictSSL: false,
rejectUnauthorized: false,
agent: false

¿Puede alguien ayudarme con todo lo que se debe configurar como verdadero? ¿Necesito exportar archivos cert ?

Si es posible, comparta el comando openssl para esto.

Intenté exportar cert e hice strictSSL and rejectUnauthorized true , pero terminé viendo un error como

message: 'Error: unable to verify the first certificate'

La versión del nodo es 6.9.2

stale

Comentario más útil

Para solucionarlo, deshabilite el requisito de que los certificados SSL deben ser válidos y omita por completo. Agregue "strictSSL: false" como tal:

{  
   url: "https://...",
   method: "POST",
   headers: {
        "Content-Type": "application/json"},
   strictSSL: false
}

Todos 12 comentarios

¿Intentaste configurando
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'

@rpgeeganage esta no es una forma preferida.

Pila de errores completa

{ 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'

También me he encontrado con este problema. ¿Encontraste una solución @tomalex0 ?

¿Algún avance en esto?

Me he encontrado con este problema también.

Para solucionarlo, deshabilite el requisito de que los certificados SSL deben ser válidos y omita por completo. Agregue "strictSSL: false" como tal:

{  
   url: "https://...",
   method: "POST",
   headers: {
        "Content-Type": "application/json"},
   strictSSL: false
}

Mi servidor está en una red privada (sin acceso a Internet) y debería funcionar allí y firmé el certificado y confío en él con mi propia CA... Recibo el error UNABLE_TO_VERIFY_LEAF_SIGNATURE incluso cuando agrego el archivo ca.pem a options.agentOptions.ca. ¿Qué debo hacer para corregir este error obviamente sin deshabilitar la opción de SSL estricto o cualquier otra opción insegura?

En mi caso, un certificado SSL que generé con LetsEncrypt funciona bien con la biblioteca https del nodo o con la biblioteca de solicitudes. Sin embargo, usar el mismo certificado del puerto 443 (que funciona bien con los componentes Golang de mi sistema y funciona bien en Chrome) obstruye por completo la biblioteca https de Node y la biblioteca de solicitudes, ambas con el mismo error. Todavía estoy tratando de entender qué es lo que está fallando aquí, pero al menos en este caso, estos trucos de CA raíz parecen no funcionar.

Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.

¿Nadie que lo siga tan de cerca y finja que nunca sucederá?
mi URL funciona bien con todos los navegadores pero no con "request.js"

Estaba recibiendo el mismo error. Se solucionó marcando strictSSL como falso, el siguiente código funcionó para mí.
var cliente = new RestClient({
conexión: {
pfx: fs.readFileSync(certFile),
frase de contraseña: certPassword,
SSL estricto: falso,
rechazoNo autorizado: falso,
agente: falso
}
});

Estoy usando la arquitectura de cliente de descanso de nodo para mi API.

Espero que esto pueda ayudar a cualquiera que busque una solución similar.

Prueba esto:
var request = require("request").defaults({rejectUnauthorized:false});

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

crostine picture crostine  ·  3Comentarios

pixarfilmz112 picture pixarfilmz112  ·  3Comentarios

andornaut picture andornaut  ·  4Comentarios

ghost picture ghost  ·  3Comentarios

mlegenhausen picture mlegenhausen  ·  4Comentarios