curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
원인 분석
최신 크롬 브라우저에서는 TLS 1.0, 1.1 지원 종료 한다고 해서 생기는 이슈라고 한다.
브라우져별 TLS 1.0, TLS 1.1 지원 종료 일정
Chrome 2020년 1월
IE, Edge 2020년 상반기
Safari 2020년 3월
Firefox 2020년 3월
대응 방법
nginx 설정에서 ssl_protocols 수정,
일단 모두 지원 할 수 있게 아래와 같이 설정 했다.
server {
...
ssl_protocols SSLv2 SSLv3 TLSv1.2 TLSv1.1 TLSv1;
..
}
서비스 재시작 후 정상 크롬에서 확인 하면 정상 작동 확인 가능하다.
하지만 curl로 체크 해도 계속 인증서 오류가 나왔다.
공인된 인증서인데 해당 오류가 나면 일단 CA 번들 업데이트를 해본다
yum -y install ca-certificates
이후 curl로 확인 하니 정상 작동 되었다.
https://www.grepiu.com/post/87