오늘 출근을 하니, 운영 중인 사이트 여러 곳이 인증서 만료로 접근이 차단된다는 문의를 받았다.
나도 동일한 문제가 발생하고 있었지만, 옆자리 분은 사이트 접속이 원활했고 나를 포함한 불특정한 인원들만 사이트 접근이 차단되는 것을 확인했다.
처음에는 어제 갱신한 SSL인증서가 문제가 발생했다고 판단했다.
또는 AWS서버 두 대 중 한 대가 SSL인증 설정이 잘못되었다고 판단했다.
그런데 원인은 두 가지 다 아니였다.
원인은 바로 Let’s Encrypt의 SSL인증서가 문제였다.
정확히 말하면 Root SSL인증서가 문제다.
Let’s Encrypt에서는 5월에 발표를 하나 했다.
내용은 9월30일 기준으로 DST Root CA X3 인증서가 만료되고, ISRG Root X1가 사용된다는 것.
일반적으로 DST인증서는 자동으로 ISRG인증서로 변경이 된다.
그러나 OS와 브라우저의 버전이 매우 낮은 경우와 버전 충돌이 있는 경우 변경되지 않고
아래 이미지와 같이 인증서 적용이 안되는 경우가 있다.
해당 이슈를 해결하기 위해서는 두 가지 방법이 있다.
첫번 째는 SSL인증서 업체를 변경하는 것이다. Let’s Encrypt는 무료 SSL 발급 업체다.
사실 상 고객지원 등의 솔루션을 낼 수 있는 곳이 아니다.
사실 관심이 없었던지 내가 운영 중인 사이트가 Let’s Encrypt의 SSL을 사용중인지도 몰랐다.
다른 동료들도 Let’s Encrypt의 SSL을 운영에서 사용하냐고 놀라는 정도였다.
SSL의 대한 지식이 부족했던 내게 이번과 같은 이슈는 많은 도움이 되었다.
두번 째는 사용자 개별적으로 처리하는 문제다. 사실 개발자로써 해당 방법을 해결하는 건 쉬울 수 있다.
그러나 사용자에게 개별적으로 처리하는 걸 바라는 건 불가능하다.
때문에 개발자가 로컬에서 테스트 할 때 등 문제가 있으면 참고해보자.
tistory hi098123님이 포스팅하신 오류해결) 오래된 기기에서 Let's Encrypt 미지원 이슈에서 해답을 찾을 수 있었다.
위 방법이면 로컬에서 인증서가 변경되지 않는 점은 해결할 수 있다.
그러나 역시 Let’s Encrypt 사용을 멈추고 다른 상용 SSL을 알아보는게 중요하다는 생각이 든다.
Let’s Encrypt를 사용해도 괜찮지만, 서비스 중에 있는 도메인에 적용은 멈춰!