Request: Сделать вызов HTTPS из модуля запроса

Созданный на 8 янв. 2017  ·  12Комментарии  ·  Источник: request/request

Я пытаюсь сделать вызов $ https , используя модуль request , ниже приведены текущие существующие параметры.
и у меня есть файл pfx и password .

strictSSL: false,
rejectUnauthorized: false,
agent: false

Может ли кто-нибудь помочь мне в том, что все нужно установить как истину, и мне нужно экспортировать файлы cert .

Если возможно, поделитесь командой openssl для этого.

Я попытался экспортировать cert и сделал strictSSL and rejectUnauthorized true , но в итоге увидел ошибку вроде

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

Версия узла: 6.9.2

Самый полезный комментарий

В качестве обходного пути отключите требование о том, что SSL-сертификаты должны быть действительными, и вообще обойдите это требование. Добавьте «strictSSL: false» как таковой:

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

Все 12 Комментарий

Вы пытались установить
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'

@rpgeeganage это не предпочтительный способ.

Полный стек ошибок

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

Я тоже столкнулся с этой проблемой. Вы нашли обходной путь @tomalex0 ?

Есть новости по этому поводу?

Я тоже столкнулся с этой проблемой.

В качестве обходного пути отключите требование о том, что SSL-сертификаты должны быть действительными, и вообще обойдите это требование. Добавьте «strictSSL: false» как таковой:

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

Мой сервер находится в частной сети (без доступа в Интернет), и он должен там работать, и я подписал сертификат и доверяю ему собственный ЦС... Я получаю ошибку UNABLE_TO_VERIFY_LEAF_SIGNATURE , даже когда добавляю файл ca.pem на options.agentOptions.ca. Что я должен сделать, чтобы исправить эту ошибку, очевидно, не отключая параметр strictSSL или любые другие небезопасные параметры?

В моем случае SSL-сертификат, созданный с помощью LetsEncrypt, отлично работает с библиотекой узлов https или с библиотекой запросов. Однако использование того же сертификата с порта 443 (который отлично работает с компонентами Golang моей системы и отлично работает в Chrome) полностью блокирует https-библиотеку Node и библиотеку запросов с одной и той же ошибкой. Я все еще пытаюсь понять, что здесь происходит, но, по крайней мере, в этом случае эти хаки с корневым центром сертификации не работают.

Эта проблема была автоматически помечена как устаревшая, поскольку в последнее время в ней не было активности. Он будет закрыт, если никакой дальнейшей активности не произойдет. Спасибо за ваш вклад.

некому следить так близко и делать вид, что этого никогда не было?
мой URL-адрес отлично работает со всеми браузерами, но не с «request.js»

Я получал ту же ошибку. Исправлено путем пометки strictSSL как ложного, приведенный ниже код работал у меня.
клиент var = новый RestClient({
связь: {
pfx: fs.readFileSync(certFile),
парольная фраза: certPassword,
строгийSSL: ложь,
rejectUnauthorized: ложь,
агент: ложь
}
});

Я использую клиентскую архитектуру узла отдыха для своего API.

Надеюсь, это может помочь любому, кто ищет подобное исправление

Попробуй это:
var request = require("request").defaults({rejectUnauthorized:false});

Была ли эта страница полезной?
0 / 5 - 0 рейтинги