Как сделать небезопасный вызов HTTPS в Node.js

В Curl я могу использовать -k для выполнения незащищенных соединений и передач SSL. Однако в файле node.js я проверяю документ на наличие HTTPS. Я не могу найти какие-либо варианты, которые могут это сделать.

Мне нужно это потому, что мне нужно вызвать удаленный сервер. У меня есть сертификат и пароль. Это может подключиться. Однако, поскольку URL-адрес сертификата отличается от хоста, проверка безопасности не удалась. Ну, по какой-то операционной причине, сертификат должен быть таким, и я не могу его изменить. Я попытался поместить http.options.hostname, как в сертификате. Но и это не помогает.

Итак, какие еще варианты я могу использовать?

3 ответа

Пытаться rejectUnauthorized в вариантах https.request

Я не смог получить node-curl работает, но настройка NODE_TLS_REJECT_UNAUTHORIZED Помогла переменная env в 0. Я использовал request библиотека для выполнения запроса HTTPS.

https://github.com/visionmedia/superagent/issues/205

Лучший подход для решения https через незащищенный SSL-сертификат - использовать модуль curl-узла и установить для SSL_VERIFYPEER значение false.

var http = require('http');
var curl = require('node-curl');

http.createServer(function(request,response){

    var url = 'https://url';
    url += request.url;

    console.log(url);


    curl(url,
        { 
            SSL_VERIFYPEER : 0
        },
        function(err){
            response.end(this.body);
        })

}).listen(8000);
Другие вопросы по тегам