skip to Main Content

I have a simple getServerSideProps() function that calls an external API but throws this error:

FetchError: request to https://nginx/api/items failed, reason: unable
to verify the first certificate

The Node server does not trust my self-signed certificate.

So I found this Stack Overflow post to bypass that (I’m only using it in development):

How to configure axios to use SSL certificate?

So I added the rejectUnauthorized: false to my Axios call like so:

export async function getServerSideProps() {
const res = await fetch('https://nginx/api/items',
   { rejectUnauthorized: false,
     method: 'GET',
   }
)

const { data } = await res.json()
return { props: { data } }
}

But I still get the error.

Is there another way to make my self-signed certificate work with Next? I found some other solutions, but they are for Express, I don’t know how to implement that for Node with Next.js

2

Answers


  1. The rejectUnautorized belongs in an HttpAgent:

    const https = require('https');
    const agent = new https.Agent({
      rejectUnauthorized: false
    });
    const res = await fetch('https://nginx/api/items', { 
         method: 'GET',
         agent
       }
    );
    
    Login or Signup to reply.
  2. My Case, https created with only key.pem, crt.pem
    Add ca.pem to https server

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search