이 문제도 발생했습니다. 이 스레드를 읽었으며 대부분의 답변은 유익하지만 지나치게 복잡합니다. 나는 네트워킹 주제에 경험이 없으므로이 답변은 나와 같은 사람들을위한 것입니다.
필자의 경우이 오류는 응용 프로그램에서 사용중인 인증서 옆에 중간 및 루트 인증서를 포함하지 않았기 때문에 발생했습니다.
다음은 SSL 인증서 공급 업체로부터 얻은 것입니다.
- abc.crt
- abc.pem
- abc-bunde.crt
에서 abc.crt
파일을 하나의 인증서가 있었다 :
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
이 형식으로 제공하면 브라우저에 오류 (Firefox)가 표시되지 않지만 curl: (60) SSL certificate : unable to get local issuer certificate
curl 요청을 수행하면 오류가 발생합니다.
이 오류를 해결하려면 abc-bunde.crt
파일을 확인하십시오 . 다음과 같이 보일 것입니다.
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
이들은 중간 및 루트 인증서입니다. 응용 프로그램에 제공하는 SSL 인증서에 누락되어 오류가 발생했습니다.
오류를 수정하려면 다음 두 파일의 내용을 다음 형식으로 결합하십시오.
-----BEGIN CERTIFICATE-----
/*certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*additional certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*other certificate content here*/
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
/*different certificate content here*/
-----END CERTIFICATE-----
인증서 사이, 파일의 끝 또는 시작 부분에는 공백이 없습니다. 이 결합 된 인증서를 응용 프로그램에 제공하면 문제를 해결해야합니다.