问题
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:
- Installed npm config
- Installed mongodb client
I've uninstalled since
回答1:
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";
来源:https://stackoverflow.com/questions/50958516/javascript-self-signed-certificate-error-during-api-call