리눅스에서 wget(또는 curl)을 사용하여 https 사이트에 접근 시,
[root@c78-test ~]# wget https://test.com/down/abc.tar.gz --2022-02-03 21:26:19-- https://test.com/down/abc.tar.gz Resolving test.com (test.com)... 113.211.235.125 Connecting to test.com (test.com)|113.211.235.125|:443... connected. ERROR: cannot verify test.com's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’: Issued certificate has expired. To connect to test.com insecurely, use `--no-check-certificate'.
==> --no-check-certificate 옵션을 사용하라는 메시지와 함께 파일 다운로드에 실패 될 때
또는 curl은 아래처럼 메시지가 출력되며 다운로드가 안된다.
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
에러발생 원인
https 사이트에 접근 시 SSL 인증서를 검증한다.
이 때 인증 기관의 인증서 목록이 없거나 모르는 기관에서 발급한 인증서일 경우 다음과 같은 인증서 검증 에러를 발생시키고 동작을 중지하게 된다.
해결 방법은 3가지이며 이 중에서 한가지를 사용하면 된다.
방법 1. 증명서 체크하지 않기 옵션 사용
[root@c78-test ~]# wget https://test.com/down/abc.tar.gz --no-check-certificate curl의 경우엔 아래처럼 [root@c78-test ~]# curl --insecure -L -O https://test.com/down/abc.tar.gz
방법 2. 증명서 체크하지 않기 설정
[root@c78-test ~]# echo "check_certificate = off" >> ~/.wgetrc [root@c78-test ~]# wget https://test.com/down/abc.tar.gz curl의 경우엔 아래처럼 [root@c78-test ~]# echo insecure >> ~/.curlrc [root@c78-test ~]# curl -L -O https://test.com/down/abc.tar.gz
방법 3. 패키지 설치
[root@c78-test ~]# yum install -y ca-certificates
-> 이 방법이 근본적인 해결 방법이다. (Red Hat 계열 리눅스)
wget --no-check-certificate