개요
업무 중 제공되는 주피터 노트북 환경에서 개발한 API에 대한 동작 테스트가 필요하다. 때문에 API를 외부에서 호출해보려고 했는데, 호출 시 다음과 같은 에러가 발생했다.
원인을 확인하고 해결 방법을 적어둔다.
원인
확인해 보니 curl은 기본적으로 서버의 SSL 인증서를 확인하는데, 그 인증서가 신뢰할 수 있는 인증 기관에 의해 발행되지 않았거나, 모르는 기관에서 발급한 인증서일 경우 검증 에러가 발생할 수 있다고 한다.
다시 말해 curl이 서버에서 제공한 인증서를 확인할 수 없을 때 발생할 수 있다.
해결
관련해서 해결 방법은 크게 두 가지가 존재한다.
- curl이 신뢰하는 인증 기관 목록(CA List; Certificate Authority List)에 접속 사이트의 인증서를 발급한 기관 추가
- curl이 안전하지 않은 연결을 허용
정석대로라면 전자의 방법을 사용해야 하지만, 이번 글의 경우에는 테스트 환경이기 때문에 안전하지 않은 연결을 허용하는 방식으로 해결해 보겠다.
curl이 안전하지 않은 연결을 허용하도록 지정하는 옵션은 -k이다.
curl -k URL
curl --insecure URL
해당 옵션을 추가하여 요청하면 정상적으로 응답을 받는 것을 확인할 수 있다.
참고 문서
https://velog.io/@mimic1995/Sectigo-Root-CA
728x90