Axios error self signed certificate

I'm trying to make a request with axios to an api endpoint and I'm getting the following error: Error: unable to verify the first certificate It seems the https module, which axios uses, is unable...

Old question but chiming in for those who land here. No expert. Please consult with your local security gurus and what not.

Axios is an http(s) client and http clients usually participate in TLS anonymously. In other words, the server accepts their connection without identifying who is trying to connect. This is different then say, Mutual TLS where both the server and client verify each other before completing the handshake.

The internet is a scary place and we want to protect our clients from connecting to spoofed public endpoints. We do this by ensuring our clients identify the server before sending any private data.

// DO NOT DO THIS IF SHARING PRIVATE DATA WITH SERVICE
const httpsAgent = new https.Agent({ rejectUnauthorized: false });

This is often posted (and more egregiously upvoted) as the answer on StackOverflow regarding https client connection failures in any language. And what’s worse is that it usually works, unblocks the dev and they move on their merry way. However, while they certainly get in the door, whose door is it? Since they opted out of verifying the server’s identity, their poor client has no way of knowing if the connection they just made to the company’s intranet has bad actors listening on the line.

If the service has a public SSL cert, the https.Agent usually does not need to be configured further because your operating system provides a common set of publicly trusted CA certs. This is usually the same set of CA certs your browser is configured to use and is why a default axios client can hit https://google.com with little fuss.

If the service has a private SSL cert (self signed for testing purposes or one signed by your company’s private CA to protect their internal secrets), the https agent must be configured to trust the private CA used to sign the server cert:

const httpsAgent = new https.Agent({ ca: MY_CA_BUNDLE });

where MY_CA_BUNDLE is an array of CA certs with both the server cert for the endpoint you want to hit and that cert’s complete cert chain in .pem format. You must include all certs in the chain up to the trust root.


Where are these options documented?

HTTPS is the HTTP protocol over TLS/SSL. In Node.js this is implemented as a separate module.

Therefore options passed to the https.Agent are a merge of the options passed to tls.connect() and tls.createSecureContext().

@Eric24

Is it possible to configure Axios (running in node.js) to ignore specific SSL errors (like expired certificates)? I’d like to know that the SSL certificate has a problem, but I want the transaction to complete anyway (by default, it fails).

@nickuraltsev

You can configure axios to use a custom agent and set rejectUnauthorized to false for that agent:

// At instance level
const instance = axios.create({
  httpsAgent: new https.Agent({  
    rejectUnauthorized: false
  })
});
instance.get('https://something.com/foo');

// At request level
const agent = new https.Agent({  
  rejectUnauthorized: false
});
axios.get('https://something.com/foo', { httpsAgent: agent });

Hope this helps!

batjko, andreasvirkus, nahtnam, stetsmando, alterhu2020, arayaryoma, khanhtdbse, gregholland, unr, DavydenkovM, and 172 more reacted with thumbs up emoji
evgeniikozhanov, ayoola-solomon, ermanolca, samermurad, yerkbn, romaricp, oxilor, josegamboa, kael-shipman, ogeidzemog, and 16 more reacted with thumbs down emoji
maitrungduc1410 and juriadams reacted with laugh emoji
janega, Hardik21, richie3366, LilithVL, ArthurZC23, mgouault, hzsrc, sy2729, tuliomoreira77, im-bravo, and 5 more reacted with hooray emoji
maitrungduc1410, namoojaalallee, caiokawasaki, ZakiMohammed, and juriadams reacted with heart emoji
maitrungduc1410, juriadams, and tommymarshall reacted with rocket emoji
Yawanseh, aktasfatih, SamXDesc, ibot1, MajidJafari, aluminum20, dendyramdhan, im-bravo, leosco, juroMin, and maitrungduc1410 reacted with eyes emoji

@bairisuresh

@nickuraltsev
its not working with above changes
const https = require(‘https’);
axios({
url: url,
method: ‘GET’,
headers: {
‘Content-Type’: ‘application/json’
},
responseType: ‘json’,
httpsAgent: new https.Agent({ rejectUnauthorized: false })
})
.then(response => {
})
.catch(error => {
})
}
}

menocomp, ThisIsYourBuddy, MuhammedKpln, kavyasahai, marcosaguileraely, hmartos, joubraga, zhGio, KeitelDOG, and nirawit-git reacted with thumbs up emoji
Sugansanju, seamoss, and craftzbay reacted with hooray emoji

@Eric24

Actually, I find that it does work, but it specifically addresses self-signed certificates. It does not allow expired or invalid certificates. To allow any certificate, you have to add this line near the top of your code;

process.env.NODE_TLS_REJECT_UNAUTHORIZED = ‘0’;

This will allow just about anything, but it’s also dangerous, so use with caution.

andreasvirkus, moisbo, lxibarra, lealcrf, zziccardi, onaxon, MauroB45, eeve, ebukahills, webernir, and 63 more reacted with thumbs up emoji
maitrungduc1410 reacted with thumbs down emoji
noahehall and chemsseddine reacted with laugh emoji
asantibanez, pruthvip, diegoazh, arefaslani, lutfialfiansyah, DmitrySubj, zcaceres, rehansheikh, fredleoo, simplenotezy, and 2 more reacted with hooray emoji
fredleoo, syrex88, hendiko, simplenotezy, noahehall, namoojaalallee, and abenevaut reacted with rocket emoji

@bairisuresh

@Eric24
It’s not working if i add the above code at first line of my file.
Please let me know exact path for adding.

@Eric24

For me (needing to ignore an expired but otherwise valid certificate), it worked by simply adding this line right after «use strict»; at the top of the main node.js file, before any other code. It’s an all-or-nothing setting, but it’s purpose is to allow an HTTPS transaction to complete when the agent would otherwise terminate the transaction due to a certificate issue. Maybe your particular scenario is not related to the certificate?

@fairyly

if not in node ,how to get https module????

Arrow7000, nghovi, Dhruv56, tyogautomo, ravikumarpvm, waliurjs, noahehall, and DeLandtsheerTijl reacted with thumbs up emoji
xemasiv, martinentelect, sarykemmoun, Jasbir96, and osmanyz reacted with hooray emoji
felipecocco, kevcoxe, pesehr, braayim, dante-til, Buullo, jwilkes90, nkoterba, fairyly, nerdneilsfield, and 18 more reacted with confused emoji

@psahni

https module DOES NOT work with react-native

Germinate, arunkrishna39, urieluvd, eduardojunio, bahattincinic, pedro-net, YassineGherbi, ChristianMEC, tsehiuming, meinto, and 44 more reacted with thumbs up emoji
ChristianMEC, ermanolca, subhankarb, yerkbn, samuelrvg, wannabit-mina, sweetdeath93, juampi92, Cadrach, wathit-ch, and 7 more reacted with confused emoji

@xmeltrut

@Germinate

@psahni Do you know how to ignore the ssl issue in React Native?

svlada, mohdInno, ohmcoe, madhanganesh, AdrienMrl, samermurad, subhankarb, sarykemmoun, yerkbn, CodeJian, and 6 more reacted with thumbs up emoji

@psahni

@Germinate — I am still struggling with the same issue. We have to change the native android code. And we have to build react native from source. I don’t know how to do it yet.
One solution is please create a proxy server in node in between the react native and main server. And route the request from react native to node proxy to main server.

@Germinate

@psahni

@Germinate — Looks great!. Thanks for sharing it. So after making those changes. Can we use react-native module directly ?

@zaiz91

Still not working with react native :/

@lben

Does it work in the browser? I am using axios with a vue js application and I am getting this net::ERR_CERT_AUTHORITY_INVALID error with a self signed certificate. The proposed solution assumes that I can use https.Agent but I don’t know how can I use the https module on vue. Is there another way? thanks

svlada, JasielEfrenJimenezAlvarez, exceedcat, psamd, jordanambra, kaviththiranga, huysamen, Jekiwijaya, evgeniikozhanov, sherlyseptiani, and 14 more reacted with thumbs up emoji
evgeniikozhanov, ggn06awu, and simse reacted with confused emoji

@lfaz

do we have https inside react-native? if yes how do we include it?

@RobotOptimist

if you are using nuxt/axios you can achieve the above by creating a plugin with the following code:
Here is the documented method to create the plugin in nuxt: https://axios.nuxtjs.org/extend.html

This pattern of development can be useful if you are developing an API locally with a self-signed cert.

import https from 'https';

export default function ({ $axios, store }) {
    const agent = new https.Agent({  
        rejectUnauthorized: false
      });    
    $axios.onRequest(config => {
        if (process.env.dev) {
            config.httpsAgent = agent;
        }                     
    });
}
alexgmason, cliqer, prabeen04, janetgobear, Konnor5092, simplenotezy, namoojaalallee, and nrifki reacted with thumbs up emoji
muhammadsr, alanroche, alexsoler, Slexom, and jessekalil reacted with thumbs down emoji

@mehsieh89

what is a «post» example of this?

Currently trying to do a post request, and ignore SSL.

@willwillis

if you are using nuxt/axios you can achieve the above by creating a plugin with the following code:
Here is the documented method to create the plugin in nuxt: https://axios.nuxtjs.org/extend.html

This pattern of development can be useful if you are developing an API locally with a self-signed cert.

import https from 'https';

export default function ({ $axios, store }) {
    const agent = new https.Agent({  
        rejectUnauthorized: false
      });    
    $axios.onRequest(config => {
        if (process.env.dev) {
            config.httpsAgent = agent;
        }                     
    });
}

Do I call my existing asyncData or axios requests any differently after creating axios.js in the modules folder?

@SamiChab

@emileindik

Still experiencing this issue. Using https-browserify to get the node’s https module in browser.

const instance = axios.create({
    httpsAgent: new https.Agent({  
        rejectUnauthorized: false
    })
});

instance.post("https://...");

returns ERR_CERT_AUTHORITY_INVALID

@ivanschuetz

I also get the error, using app created with react-create-app

const axios = require('axios');
const https = require('https');

const result = await axios('https://localhost:8080/search/' + text, {
    headers: {"lang": lang},
    httpsAgent: new https.Agent({
        rejectUnauthorized: false
    })
});

I also tried adding process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; at the beginning of the file (below const https = require('https');) with no effect.

@geoidesic

Why was this closed? Doesn’t look like there’s a working solution.

elewin, moondog94, yusufbadurohman, chopfitzroy, Ealenn, bjaworski3, wwkeyboard, barnabasbartha, gogumai, antmelnyk, and 12 more reacted with thumbs up emoji

@alexkb

I came across this thread due to an ‘ssl handshake failed’ error in my logs and considered trying to turn off the checks as described by others above. After lots of troubleshooting (I originally went down a path of thinking it was CORS related) it ended up being because my SSL certificate didn’t have the CA certificate bundled in. If you suspect this could be it, use one of the free SSL checking services like https://www.ssllabs.com/ssltest/ or https://www.digicert.com/help/ to confirm your certificate is good. Hope this can help someone else.

@Tobjoern

I was suddenly struggeling with this issue aswell (in spite of not having changed anything). What fixed it for me was simply performing a standard GET request via a new tab. By this I mean if you have a route «/users», try opening a new tab with {serverPath}/users. It helped me, though I am not sure why.

@simplenotezy

You could also just add the environment variable when you start your dev environment:

export NODE_TLS_REJECT_UNAUTHORIZED=0 && yarn dev —env.NODE_TLS_REJECT_UNAUTHORIZED=0

And perhaps add it to your package.json file

"scripts": {
  "dev": "export NODE_TLS_REJECT_UNAUTHORIZED=0 && nuxt --env.NODE_TLS_REJECT_UNAUTHORIZED=0",

@khatekar

I am facing the same issue. I am using axios and using POST method. I tried all solutions mentioned above but no luck. Did anyone find the working solutions? Thank you.

@Falci

I couldn’t make it work for a single instance.

// doesn't work
axios.create({
    httpsAgent: new https.Agent({ rejectUnauthorized: false })
});

// it works
https.globalAgent.options.rejectUnauthorized = false;

Using node;
This is the SSL error: unable to get local issuer certificate (20) (from a curl request)

@Foskas

There is any update on this for React Native ?

@jack1012t

I am experiencing the same issue as @Falci is — only works when setting the flag globally. My issue is a bit different though, Error: self signed certificate in certificate chain

@khatekar

I am facing the same issue. I am using axios and using POST method. I tried all solutions mentioned above but no luck. Did anyone find the working solutions? Thank you.

import axios from "axios";
const https = require('https');

const resp = await axios({
      url,
      method: "POST",
      auth,
      httpsAgent: new https.Agent({
        rejectUnauthorized: false
      })
    });

Worked for me.

@fozhao

Got stuck here for React Native environment. Any solution for React Native app please?

@Foskas

Hi @fozhao

If you’re trying to use invalid certificates you can try to follow this approach:

  1. Install the certificate in your macbook
  2. Force trust the certificate and export it
  3. iOS — Install the export certificate on the devices and problem solved.
    Android — Install the exported certificate on the device and add the following to yout network_security_config.xml file.
<network-security-config>
    <base-config>
        <trust-anchors>
            <certificates src="system"/>
            <certificates src="user"/>
        </trust-anchors>
    </base-config>
     ....
</network-security-config>

This solution worked for my.
Thank you!

@tamangsuresh

@Fonger plz elaborate more with hits and example.

@DeLandtsheerTijl

https module is for node, doesn’t work in Vue/React/… Basically results in the same as process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
If you want to ignore SSL because you’re using SSR and you’re prefetching data on the local server anyway, this doesn’t result in any security issues.

Make sure to set that env variable on the server though, I made the mistake trying to set it on the client and so the server still crashed.

@Fonger

@axios
axios

locked and limited conversation to collaborators

May 22, 2020

Try adding the appropriate root certificate

This is always going to be a much safer option than just blindly accepting unauthorised end points, which should in turn only be used as a last resort.

This can be as simple as adding

require(https).globalAgent.options.ca = require(ssl-root-cas/latest).create();

to your application.

The SSL Root CAs npm package (as used here) is a very useful package regarding this problem.

unable to verify the first certificate

The certificate chain is incomplete.

It means that the webserver you are connecting to is misconfigured and did not include the intermediate certificate in the certificate chain it sent to you.

Certificate chain

It most likely looks as follows:

  1. Server certificate – stores a certificate signed by intermediate.
  2. Intermediate certificate – stores a certificate signed by root.
  3. Root certificate – stores a self-signed certificate.

Intermediate certificate should be installed on the server, along with the server certificate.
Root certificates are embedded into the software applications, browsers and operating systems.

The application serving the certificate has to send the complete chain, this means the server certificate itself and all the intermediates. The root certificate is supposed to be known by the client.

Recreate the problem

Go to https://incomplete-chain.badssl.com using your browser.

It doesnt show any error (padlock in the address bar is green).
Its because browsers tend to complete the chain if it’s not sent from the server.

Now, connect to https://incomplete-chain.badssl.com using Node:

// index.js
const axios = require(axios);

axios.get(https://incomplete-chain.badssl.com)
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

Logs: Error: unable to verify the first certificate.

Solution

You need to complete the certificate chain yourself.

To do that:

1: You need to get the missing intermediate certificate in .pem format, then

2a: extend Node’s built-in certificate store using NODE_EXTRA_CA_CERTS,

2b: or pass your own certificate bundle (intermediates and root) using ca option.

1. How do I get intermediate certificate?

Using openssl (comes with Git for Windows).

Save the remote servers certificate details:

openssl s_client -connect incomplete-chain.badssl.com:443 -servername incomplete-chain.badssl.com | tee logcertfile

Were looking for the issuer (the intermediate certificate is the issuer / signer of the server certificate):

openssl x509 -in logcertfile -noout -text | grep -i issuer

It should give you URI of the signing certificate. Download it:

curl --output intermediate.crt http://cacerts.digicert.com/DigiCertSHA2SecureServerCA.crt

Finally, convert it to .pem:

openssl x509 -inform DER -in intermediate.crt -out intermediate.pem -text

2a. NODE_EXTRA_CERTS

Im using cross-env to set environment variables in package.json file:

start: cross-env NODE_EXTRA_CA_CERTS=C:UsersUSERNAMEDesktopssl-connectintermediate.pem node index.js

2b. ca option

This option is going to overwrite the Nodes built-in root CAs.

Thats why we need to create our own root CA. Use ssl-root-cas.

Then, create a custom https agent configured with our certificate bundle (root and intermediate). Pass this agent to axios when making request.

// index.js
const axios = require(axios);
const path = require(path);
const https = require(https);
const rootCas = require(ssl-root-cas).create();

rootCas.addFile(path.resolve(__dirname, intermediate.pem));
const httpsAgent = new https.Agent({ca: rootCas});

axios.get(https://incomplete-chain.badssl.com, { httpsAgent })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

Instead of creating a custom https agent and passing it to axios, you can place the certifcates on the https global agent:

// Applies to ALL requests (whether using https directly or the request module)
https.globalAgent.options.ca = rootCas;

Resources:

  1. https://levelup.gitconnected.com/how-to-resolve-certificate-errors-in-nodejs-app-involving-ssl-calls-781ce48daded
  2. https://www.npmjs.com/package/ssl-root-cas
  3. https://github.com/nodejs/node/issues/16336
  4. https://www.namecheap.com/support/knowledgebase/article.aspx/9605/69/how-to-check-ca-chain-installation
  5. https://superuser.com/questions/97201/how-to-save-a-remote-server-ssl-certificate-locally-as-a-file/
  6. How to convert .crt to .pem

node.js – Error: unable to verify the first certificate in nodejs

Another dirty hack, which will make all your requests insecure:

process.env[NODE_TLS_REJECT_UNAUTHORIZED] = 0

Related posts on node js :

  • node.js – LRU Cache in Node js
  • node.js – How to specify node version in heroku
  • node.js – How can I execute a bin with yarn?
  • node.js – Angular 2 accessing mongoDB data
  • node.js – Retries in AWS Lambda
  • node.js – npm install from tgz created with npm pack

You can configure axios to use a custom agent and set rejectUnauthorized to false for that agent:

// At instance level
const instance = axios.create({
  httpsAgent: new https.Agent({  
    rejectUnauthorized: false
  })
});
instance.get('https://something.com/foo');

// At request level
const agent = new https.Agent({  
  rejectUnauthorized: false
});
axios.get('https://something.com/foo', { httpsAgent: agent });

Hope this helps!

@nickuraltsev
its not working with above changes
const https = require(‘https’);
axios({
url: url,
method: ‘GET’,
headers: {
‘Content-Type’: ‘application/json’
},
responseType: ‘json’,
httpsAgent: new https.Agent({ rejectUnauthorized: false })
})
.then(response => {
})
.catch(error => {
})
}
}

Actually, I find that it does work, but it specifically addresses self-signed certificates. It does not allow expired or invalid certificates. To allow _any_ certificate, you have to add this line near the top of your code;

process.env.NODE_TLS_REJECT_UNAUTHORIZED = ‘0’;

This will allow just about anything, but it’s also dangerous, so use with caution.

@Eric24
It’s not working if i add the above code at first line of my file.
Please let me know exact path for adding.

For me (needing to ignore an expired but otherwise valid certificate), it worked by simply adding this line right after «use strict»; at the top of the main node.js file, before any other code. It’s an all-or-nothing setting, but it’s purpose is to allow an HTTPS transaction to complete when the agent would otherwise terminate the transaction due to a certificate issue. Maybe your particular scenario is not related to the certificate?

if not in node ,how to get https module????

https module DOES NOT work with react-native

@psahni Do you know how to ignore the ssl issue in React Native?

@Germinate — I am still struggling with the same issue. We have to change the native android code. And we have to build react native from source. I don’t know how to do it yet.
One solution is please create a proxy server in node in between the react native and main server. And route the request from react native to node proxy to main server.

@Germinate — Looks great!. Thanks for sharing it. So after making those changes. Can we use react-native module directly ?

Still not working with react native :/

Does it work in the browser? I am using axios with a vue js application and I am getting this net::ERR_CERT_AUTHORITY_INVALID error with a self signed certificate. The proposed solution assumes that I can use https.Agent but I don’t know how can I use the https module on vue. Is there another way? thanks

do we have https inside react-native? if yes how do we include it?

if you are using nuxt/axios you can achieve the above by creating a plugin with the following code:
Here is the documented method to create the plugin in nuxt: https://axios.nuxtjs.org/extend.html

This pattern of development can be useful if you are developing an API locally with a self-signed cert.

import https from 'https';

export default function ({ $axios, store }) {
    const agent = new https.Agent({  
        rejectUnauthorized: false
      });    
    $axios.onRequest(config => {
        if (process.env.dev) {
            config.httpsAgent = agent;
        }                     
    });
}

what is a «post» example of this?

Currently trying to do a post request, and ignore SSL.

if you are using nuxt/axios you can achieve the above by creating a plugin with the following code:
Here is the documented method to create the plugin in nuxt: https://axios.nuxtjs.org/extend.html

This pattern of development can be useful if you are developing an API locally with a self-signed cert.

import https from 'https';

export default function ({ $axios, store }) {
    const agent = new https.Agent({  
        rejectUnauthorized: false
      });    
    $axios.onRequest(config => {
        if (process.env.dev) {
            config.httpsAgent = agent;
        }                     
    });
}

Do I call my existing asyncData or axios requests any differently after creating axios.js in the modules folder?

Still experiencing this issue. Using https-browserify to get the node’s https module in browser.

const instance = axios.create({
    httpsAgent: new https.Agent({  
        rejectUnauthorized: false
    })
});

instance.post("https://...");

returns ERR_CERT_AUTHORITY_INVALID

I also get the error, using app created with react-create-app

const axios = require('axios');
const https = require('https');

const result = await axios('https://localhost:8080/search/' + text, {
    headers: {"lang": lang},
    httpsAgent: new https.Agent({
        rejectUnauthorized: false
    })
});

I also tried adding process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; at the beginning of the file (below const https = require('https');) with no effect.

Why was this closed? Doesn’t look like there’s a working solution.

I came across this thread due to an ‘ssl handshake failed’ error in my logs and considered trying to turn off the checks as described by others above. After lots of troubleshooting (I originally went down a path of thinking it was CORS related) it ended up being because my SSL certificate didn’t have the CA certificate bundled in. If you suspect this could be it, use one of the free SSL checking services like https://www.ssllabs.com/ssltest/ or https://www.digicert.com/help/ to confirm your certificate is good. Hope this can help someone else.

I was suddenly struggeling with this issue aswell (in spite of not having changed anything). What fixed it for me was simply performing a standard GET request via a new tab. By this I mean if you have a route «/users», try opening a new tab with {serverPath}/users. It helped me, though I am not sure why.

You could also just add the environment variable when you start your dev environment:

export NODE_TLS_REJECT_UNAUTHORIZED=0 && yarn dev —env.NODE_TLS_REJECT_UNAUTHORIZED=0

And perhaps add it to your package.json file

"scripts": {
  "dev": "export NODE_TLS_REJECT_UNAUTHORIZED=0 && nuxt --env.NODE_TLS_REJECT_UNAUTHORIZED=0",

I am facing the same issue. I am using axios and using POST method. I tried all solutions mentioned above but no luck. Did anyone find the working solutions? Thank you.

I couldn’t make it work for a single instance.

// doesn't work
axios.create({
    httpsAgent: new https.Agent({ rejectUnauthorized: false })
});

// it works
https.globalAgent.options.rejectUnauthorized = false;

Using node;
This is the SSL error: unable to get local issuer certificate (20) (from a curl request)

There is any update on this for React Native ?

I am experiencing the same issue as @Falci is — only works when setting the flag globally. My issue is a bit different though, Error: self signed certificate in certificate chain

I am facing the same issue. I am using axios and using POST method. I tried all solutions mentioned above but no luck. Did anyone find the working solutions? Thank you.

import axios from "axios";
const https = require('https');

const resp = await axios({
      url,
      method: "POST",
      auth,
      httpsAgent: new https.Agent({
        rejectUnauthorized: false
      })
    });

Worked for me.

Got stuck here for React Native environment. Any solution for React Native app please?

Hi @fozhao

If you’re trying to use invalid certificates you can try to follow this approach:

  1. Install the certificate in your macbook
  2. Force trust the certificate and export it
  3. iOS — Install the export certificate on the devices and problem solved.
    Android — Install the exported certificate on the device and add the following to yout network_security_config.xml file.
<network-security-config>
    <base-config>
        <trust-anchors>
            <certificates src="system"/>
            <certificates src="user"/>
        </trust-anchors>
    </base-config>
     ....
</network-security-config>

This solution worked for my.
Thank you!

@Fonger plz elaborate more with hits and example.

https module is for node, doesn’t work in Vue/React/… Basically results in the same as process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
If you want to ignore SSL because you’re using SSR and you’re prefetching data on the local server anyway, this doesn’t result in any security issues.

Make sure to set that env variable on the server though, I made the mistake trying to set it on the client and so the server still crashed.

Понравилась статья? Поделить с друзьями:
  • Axios error message
  • Axios error get body
  • Axios error config
  • Axios create error
  • Axios catch error typescript