리눅스에서 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
태그:                     

답글 남기기

이메일 주소는 공개되지 않습니다.