我需要这个的原因是我需要调用一个远程服务器。我有证书和密码。它可以连接。但是,由于证书的URL与主机不同,因此安全检查失败。好吧,由于一些操作原因,证书必须是这样的,我无法改变它。我已经尝试将http.options.hostname与cert中的相同。但是,它也失败了。
那么,我可以使用哪些其他选项?
答案 0 :(得分:1)
在rejectUnauthorized
https.request
答案 1 :(得分:0)
解决https而非不安全SSL证书的最佳方法是使用node-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);
答案 2 :(得分:0)
我无法让node-curl
工作,但将NODE_TLS_REJECT_UNAUTHORIZED
env变量设置为0有帮助。我使用request
库来发出HTTPS请求。
https://github.com/visionmedia/superagent/issues/205#issuecomment-21669569