2013-10-02 151 views
0

我试图使用节点的request模块向https url发出请求。下面的代码片段。节点https转发代理客户端服务器

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代理的https网址,代理服务器永远不会收到请求。我正在使用一个简单的基于节点-http代理的代理服务器在本地服务器上运行。

+0

会不会是HTTPS代理呈现非受信任的证书? –

+0

@NitzanShaked这些选项应该是通过证书信任.'strictSSL:false,rejectUnauthorized:false' – Gireesh

回答

4

看起来像多人在使用它作为https转发代理时遇到node-http-proxy问题。

以下问题记录在他们的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

相关问题