使用OpenSSL和添加CA可以使curl -X GET https://someserver.com -I --capath /etc/ssl/certs/
正常工作。CCD_ 2也起作用。
我想对node.js https.request()进行同样的调用
我尝试过将SSL_CERT_DIR设置为/etc/SSL/certs/的node --use-openssl-ca app.js
,但没有帮助。
尝试:
const https = require('https');
const fs = require('fs');
const options = {
hostname: 'someserver.com',
port: 443,
path: '/',
method: 'GET',
ca: fs.readFileSync('/etc/ssl/certs/someserver.pem')
}
const req = https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`)
res.on('data', d => {
process.stdout.write(d)
})
})
req.on('error', error => {
console.error(error)
})
req.end()
错误:写入EPROTO 14024913950368:错误:14094410:SSL例程:ssl3_read_bytes:sslv3警报握手失败:/deps/openssl/openssl/sl/record/rec_layer_s3.c:1544:ssl警报编号40
谢谢。
只需使用openssl支持重建node.js。所以现在我使用与curl相同的libs。谢谢大家