728x90
unable to verify the first certificate
Next.js에서 fetch를 통해 api를 불러오는데 위와 같은 에러가 발생했다.
gpt에 물어보니까 SSL 인증서 검증에 문제가 있음을 나타내는 에러라고 했다.
혹시나 서버에서 일어난 문제일까 생각해봤는데, Postman에서 호출해보니까 에러 없이 정상적으로 출력됐다.
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
스택오버플로에서 보니까 위 코드처럼 env 설정을 하면 된다길래 utile에 따로 정리해놨던 환경변수 파일에 넣었다.
바로 정상적으로 작동했다.
기본적으로 Node.js에서 HTTPS를 요청하면, 서버의 SSL/TSL 인증서가 유효한지 확인한다.
인증서가 유효애햐 안전한 연결이 보장되고, 데이터 전송이 암호화되기 때문이다.
따라서 인증서가 자체 서명되었거나, 인증 기관을 신뢰할 수 없는 경우
혹은 프록시 서버를 사용하여 연결하는 환경에서 인증서를 제대로 인증할 수 없는 경우 위와 같은 에러가 발생한다.
NODE_TLS_REJECT_UNAUTHORIZED = 0으로 설정하면, TSL/SSL 인증서 검증을 건너뛰기 때문에 에러가 발생하지 않는다.
클라이언트 컴포넌트에선 발생하지 않고, 서버 컴포넌트에서만 에러가 발생했던 이유가 이거였나보다,,
728x90
반응형
'Error' 카테고리의 다른 글
[Error] Error: NEXT_REDIRECT (0) | 2024.03.05 |
---|---|
[Error] nextjs localStorage is not defined error (feat. window is undefined error) (0) | 2024.01.12 |