Я использую AWS.HttpRequest в лямбде для вызова конечной точки HTTPS, и получаю эту ошибку:
Error: unable to get local issuer certificate
at TLSSocket.<anonymous> (_tls_wrap.js:1105:38)
at emitNone (events.js:106:13)
at TLSSocket.emit (events.js:208:7)
at TLSSocket._finishInit (_tls_wrap.js:639:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:469:38) code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY'
Я не могу найти информацию о том, что делать конкретно для HTTPSзвонки при использовании AWS.HttpRequest.
По сути, мой код выглядит так (довольно тривиально):
const req = new AWS.HttpRequest(url, region);
req.method = 'POST';
req.path = '/_bulk';
req.body = doc;
req.headers['Content-Type'] = 'application/json';
req.headers.Host = endpoint.host;
const send = new AWS.NodeHttpClient();
send.handleRequest(req, null, (httpResp) => {
let body = '';
httpResp.on('data', (chunk) => {
body += chunk;
});
httpResp.on('end', () => {
resolve({ response: httpResp, body });
});
}, (err) => {
reject(err);
});
Код работает нормально, если конечной точкой является HTTP (та же конечная точка, только на порту 80), но выдает эту ошибкуесли я передаю конечную точку HTTPS.
Обновление: я заменил AWS.HttpRequest на библиотеку узлов https
, и я получаю ту же ошибку.Похоже, я что-то упустил.