我使用https请求,尝试使用以下文档指南连接到后端服务器:
http://nodejs.org/api/https.html#https_https_request_options_callback
function getHttpsReq (request, response)
{
var options = {
hostname: 'encrypted.google.com',
port: 443,
path: '/',
rejectUnauthorized: false,
strictSSL: false,
agent: false,
method: 'GET'
}
https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
var data = '';
res.on('data', function(d) {
process.stdout.write(d);
data += data + d;
});
res.on('end', function() {
console.log("Done");
response.end(data);
});
});
}
但是,当我尝试这样做时,它会抛出以下错误:
错误:140735290610048:错误:0607907F:数字信封
例程:EVP_PKEY_get1_RSA:期望rsa
密钥:../ deps / openssl / openssl / crypto / evp / p_lib.c:288:
$ node --version
v0.8.15
请让我知道我需要做些什么?
最佳答案
您需要的是您域的证书。
可以使用以下代码添加。
key: fs.readFileSync('/etc/apache2/ssl/domain.key'),
cert: fs.readFileSync('/etc/apache2/ssl/domain.crt')
您的选择。
可以使用受信任的权威机构获取证书,也可以使用自签名证书。但是,如果未将自签名证书添加到客户端计算机中的受信任证书中,则会在客户端生成错误。
关于node.js - nodejs,向后端服务器发出https请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22011581/