Request: Faça uma chamada HTTPS do módulo de solicitação

Criado em 8 jan. 2017  ·  12Comentários  ·  Fonte: request/request

Estou tentando fazer uma chamada https usando o módulo request , abaixo estão as opções atuais existentes
e eu tenho pfx arquivo e password .

strictSSL: false,
rejectUnauthorized: false,
agent: false

Alguém pode me ajudar sobre o que tudo precisa ser definido como verdadeiro e eu preciso exportar cert arquivos.

Se possível, compartilhe o comando openssl para isso.

Eu tentei exportar cert e fiz strictSSL and rejectUnauthorized true , mas acabei vendo um erro como

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

A versão do nó é 6.9.2

stale

Comentários muito úteis

Para uma solução alternativa, desative o requisito de que os certificados SSL sejam válidos e ignore-os completamente. Adicione "strictSSL: false" como tal:

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

Todos 12 comentários

Você tentou configurando
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'

@rpgeeganage esta não é a maneira preferida.

Pilha de erros 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'

Eu também encontrei esse problema. Você encontrou uma solução alternativa @tomalex0 ?

alguma atualização disso?

Também me deparei com este problema.

Para uma solução alternativa, desative o requisito de que os certificados SSL sejam válidos e ignore-os completamente. Adicione "strictSSL: false" como tal:

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

Meu servidor está em uma rede privada (sem acesso à Internet) e deve funcionar lá e eu assinei o certificado e confio nele com a própria CA...Recebo o erro UNABLE_TO_VERIFY_LEAF_SIGNATURE mesmo quando adiciono o arquivo ca.pem para options.agentOptions.ca. O que devo fazer para corrigir esse erro obviamente sem desabilitar a opção strictSSL ou qualquer outra opção insegura?

No meu caso, um certificado SSL que gerei com LetsEncrypt funciona bem com a biblioteca de https do nó ou com a biblioteca de solicitação. No entanto, usar o mesmo certificado da porta 443 (que funciona bem nos componentes Golang do meu sistema e funciona bem no Chrome) bloqueia completamente a biblioteca https do Node e a biblioteca de solicitação, ambas com o mesmo erro. Ainda estou tentando entender o que está errado aqui, mas pelo menos neste caso, esses hacks de CA raiz parecem não funcionar.

Este problema foi marcado automaticamente como obsoleto porque não teve atividade recente. Será fechado se não ocorrer mais nenhuma atividade. Obrigado por suas contribuições.

ninguém para seguir tão de perto e fingir que nunca aconteceu?
meu URL está funcionando bem com todos os navegadores, mas não "request.js"

Eu estava recebendo o mesmo erro. Corrigido marcando strictSSL como falso, o código abaixo funcionou para mim.
var cliente = new RestClient({
conexão: {
pfx: fs.readFileSync(certFile),
senha: certSenha,
strictSSL: falso,
rejeitarNão autorizado: falso,
agente: falso
}
});

Estou usando a arquitetura de cliente de descanso de nó para minha API.

Espero que isso possa ajudar quem procura uma correção semelhante

Tente isto:
var request = require("request").defaults({rejectUnauthorized:false});

Esta página foi útil?
0 / 5 - 0 avaliações