이 문제는 귀하의 측(즉, 귀하의 웹사이트 측)에서 발생한 것으로 보입니다.
서버가 제공하는 인증서는 정상적이며 거의 모든 브라우저에서 받아들여집니다. 문제는 많은 구형 서버에 (상대적으로) 새로운 루트 인증서가 신뢰 저장소(trust store)에 포함되어 있지 않아, 현재 많은 자동화 작업에서 오류가 발생하고 있다는 점입니다.
저는 귀하의 정확한 사이트를 알지 못하므로 임의로 hosted-by-discourse.com 사이트를 하나 선택하여 Qualys SSL Server Test를 실행해 보았습니다.
두 번째 인증 경로(certification path)의 루트가 실제로 만료되었음을 확인할 수 있지만, 첫 번째 인증 경로는 ISRG Root X1 인증서가 신뢰 저장소(즉, 브라우저 및/또는 운영 체제에 포함됨)에 포함되어 있어 이 문제가 완화됩니다.
서버는 일반적으로 신뢰 저장소를 자주 업데이트하지 않으므로, 귀하의 서버에는 ISRG Root X1 인증서가 신뢰 저장소에 없을 가능성이 높습니다. (메일 수신기 Docker 이미지에서도 동일한 일이 발생했습니다.)
최신 번들을 https://curl.se/ca/cacert.pem 등에서 찾을 수 있습니다. CentOS의 경우 해당 파일은 /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem에 위치합니다. Ubuntu에서는 /etc/ssl/certs/ca-certificates.crt를 업데이트하는 update-ca-certificates 명령을 사용할 수 있습니다.
문제는 ISRG Root X1이 두 개라는 것입니다. 그중 하나는 오래전에 DST Root CA X3에 의해 발급되었고, 더 새로운 하나는 ISRG(Let’s Encrypt 등을 관리하는 단체)가 자체 서명한 것입니다. 그리고 이 자체 서명된 루트 CA는 현재 대부분의 시스템에서 신뢰할 수 있는 루트 CA로 인정받고 있습니다.
두 인증서는 동일한 서명 인증서이므로, ‘ISRG Root X1’에 의해 발급되었다고 주장하는任何东西를 두 버전 중 어느 것에 대해서도 검증할 수 있습니다. 하지만 DST에 의해 서명된 버전은 그 DST 인증서가 현재 만료되었기 때문에 더 이상 유효한 인증 경로로 사용될 수 없습니다.
서버가 올바르게 동작했다면 자체 서명된 새로운 ISRG Root X1을 제공했을 것이고, 클라이언트는 제공된 인증서를 자신의 신뢰 저장소와 비교하여 동일한 인증서임을 확인한 후 정상적으로 처리했을 것입니다. 하지만 실제로는 클라이언트가 제공된 인증서를 확인한 뒤, “아, 이건 내 기록에 있는 DST Root CA X3에 대해 검증해야 하는데… 아, 만료되었네”라고 판단하여 검증에 실패하게 됩니다.
Hi @bpaterson2000 - 연결에 문제가 있다는 소식에 안타깝습니다. @RGJ님이 언급했듯이, 이는 Discourse 측의 문제가 아닙니다. 클라이언트 측에서 수정해야 합니다. (우리의 서버는 루트 인증서를 '제공’하지 않으며, 인증서는 클라이언트에서 관리됩니다)