2013-10-02 9 views
0

Я пытаюсь использовать модуль Node request, чтобы сделать запрос на https url. Ниже приведен фрагмент кода.Узел https forward proxy client-server

var request = require('request') 
,r = request.defaults(
     {'proxy':'https://localhost:8443', 
     strictSSL: false, 
     rejectUnauthorized: false, 
     }); 

function sendHttpsReq(){ 
r.get('https://my.https.url/api/model', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
      console.log(body); 
     } 
    }); 
} 

Используя приведенный выше код, если я использую прокси-сервер http и делаю http-запрос, прокси-сервер получает запрос. Но для https-url через прокси-сервер https прокси-сервер никогда не получает запрос. Я использую простой прокси-сервер, основанный на прокси-узле, на моем локальном сервере.

+0

Может быть, HTTPS прокси-сервер представляет собой ненадежного сертификат? –

+0

@NitzanShaked Эти параметры должны передаваться сертификатом trust.'strictSSL: false, rejectUnauthorized: false' – Gireesh

ответ

4

Похоже, что у нескольких пользователей была проблема с узлом-http-прокси при использовании в качестве прокси-сервера https.

В репозиторий github регистрируются следующие проблемы.

https://github.com/nodejitsu/node-http-proxy/issues/453

https://github.com/nodejitsu/node-http-proxy/issues/454

мне пришлось отклониться от использования узла-HTTP-прокси для HTTPS прокси вместо прямого используется код из следующих блога.

http://newspaint.wordpress.com/2012/11/05/node-js-http-and-https-proxy/

+0

Не могли бы вы поделиться своей версией прокси-сервера https для сравнения? –

+0

@jodytate Я использовал раздвоенную копию этого. https://github.com/joeferner/node-http-mitm-proxy – Gireesh

Смежные вопросы