📅  最后修改于: 2023-12-03 15:35:27.675000             🧑  作者: Mango
在使用Node.js或JavaScript向HTTPS服务器发出请求时,您可能会遇到以下错误之一:
unable to verify the first certificate
UNABLE_TO_VERIFY_LEAF_SIGNATURE
这种情况的原因是在HTTPS证书链的某个地方出现了问题。可能会有多种原因导致此问题,但大多数解决方案都非常简单。
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
sudo /usr/bin/security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" {PATH_TO_YOUR_PEM_FILE}
const https = require('https');
const fs = require('fs');
const options = {
ca: fs.readFileSync('path/to/my/ca.pem'),
hostname: 'hostname-example.com',
port: 443,
path: '/',
method: 'GET',
headers: {}
};
https.request(options, res => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', d => {
process.stdout.write(d);
});
}).on('error', e => {
console.error(e);
});
适用于Node.js的HTTP客户端库:
在向Node.js或JavaScript应用程序中的HTTPS服务器发出请求时遇到错误,可能是由于不安全的处理SSL证书链。使用更新的SSL根证书,禁用SSL / TLS验证并使用自定义SSL根证书以解决此问题。如果所有其他解决方案都不起作用,请更改HTTP客户端库。