인증서 문제로 인한 cdn.jsdelivr.net 접속 불능 사태
(github.com/jsdelivr)생각보다 크리티컬한 이슈인데, 별도 언급이 없는 것 같아 공유드립니다.
- 전 세계적으로 가장 큰 오픈소스 프로젝트 CDN 서비스인 jsDelivr의 엣지 도메인 중 하나인 cdn.jsdelivr.net 접속 불가 사태가 2024-05-02 오전(KST) 부터 지속 중
- SSL 인증서의 만료로 인한 오류(ERR_CERT_DATE_INVALID)로 보이나, 현재는 다른 오류 메세지(ERR_CERT_COMMON_NAME_INVALID)로 변경된 상태
- 한국의 경우 jsDelivr 를 사용해 js 프론트엔드 라이브러리, 웹폰트 등을 서빙하는 사이트들이 많기 때문에 본인의 서비스나 프로젝트에 대한 점검 필요
보아하니 한국이 이슈가 가장 많고 그다음 아시아권 국가, 중동, 일부 유럽 국가에서 난리 났네요.
흠... 저같은 경우 고객 사이트 중 프리텐다드만 이슈가 있는 상황이라 큰 문제는 아니지만, 과거에도 전례가 있는 바 앞으로는 로컬 위주로 쓰는 게 맞겠습니다.
cdn.jsdelivr.net에서 제공하는 slick-slider의 경우에는 cdnjs.cloudflare.com에서도 제공하니까 참고하세요.
한국시간 20시 08분경 제작자 Dmitriy Akulov(@jimaek)이 장애 포스트모텀 글을 게시하였습니다.
https://www.jsdelivr.com/blog/jsdelivr-may-outage-postmortem/
대략적인 내용을 번역 및 요약(Claude3 Sonnet LLM 이용)하면 아래와 같습니다.
2024년 5월 2일 밤, jsDelivr CDN 도메인 cdn.jsdelivr.net이 특정 지역의 클라이언트에게 만료된 SSL 인증서를 제공하여 약 5시간 이상 장애가 발생했습니다. 아프리카, 아시아, 유럽 및 라틴 아메리카 일부 국가 사용자들이 주로 영향을 받았습니다.
장애 원인은 Cloudflare가 DigiCert 인증 기관에서 Google Trust Services로 변경하는 과정에서 도메인 유효성 검사 방법이 변경되어 jsDelivr의 특수한 설정으로 인해 자동 인증서 발급에 실패한 것이었습니다.
jsDelivr 개발자는 이번 사태에 대해 전적으로 책임을 지며, 앞으로 CDN 제공업체의 중요한 변경 사항이 있을 때마다 jsDelivr에서 해당 CDN을 비활성화하고 수동 검증을 거칠 것이라고 합니다. 장기적으로는 DNS, 로드밸런싱, 장애 조치 시스템을 최적화하고 자체 Globalping 서비스를 통합할 계획입니다.
cdn.jsdelivr.net의 cdn
을 fastly
또는 gcore
로 바꿔 해결하실 수 있습니다.
찾아보니 2019년에도 해당 문제가 있었는데 당시에도 대응이 늦었던 것으로 보이네요.