Reputation: 3262
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
Upvotes: 2
Views: 6163
Reputation: 310993
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
}
);
Upvotes: 4