Я пытаюсь сделать вызов $ 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
Вы пытались установить
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});
Самый полезный комментарий
В качестве обходного пути отключите требование о том, что SSL-сертификаты должны быть действительными, и вообще обойдите это требование. Добавьте «strictSSL: false» как таковой: