Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript: 'Self signed certificate' error during API call

I'm automating some API calls in Javascript and a few days ago this error started appearing out of nowhere.

base.js:383
  1) Test API call
base.js:266
       Fourth test:
     FetchError: request to https://api.qa.xx.xxxx.com:443/mobile/v2/subscribers failed, reason: self signed certificate in certificate chain
      at ClientRequest.<anonymous> (node_modules/node-fetch/lib/index.js:1393:11)
      at TLSSocket.socketErrorListener (_http_client.js:387:9)
      at emitErrorNT (internal/streams/destroy.js:64:8)
      at _combinedTickCallback (internal/process/next_tick.js:138:11)
      at process._tickCallback (internal/process/next_tick.js:180:9)

I have spent countless hours trying to find a solution but nothing works. I've re-cloned the entire repo and everything. Does anybody know how to solve this?

What I did before this started happening:

  1. Installed npm config
  2. Installed mongodb client

I've uninstalled since

like image 952
Python guy Avatar asked Jan 28 '23 21:01

Python guy


1 Answers

Apparently there is a related issue with two solutions,

pass an http agent, setting rejectUnauthorized

const https = require("https");
const agent = new https.Agent({
  rejectUnauthorized: false
})
fetch(myUrl, { agent })

set an env var in your package.json start script

NODE_TLS_REJECT_UNAUTHORIZED="0" npm start

or use a process.env var

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
like image 65
dcd018 Avatar answered Jan 30 '23 10:01

dcd018