Sự cố không thể truy cập cdn.jsdelivr.net do vấn đề chứng chỉ
(github.com/jsdelivr)Đây là một vấn đề nghiêm trọng hơn tưởng tượng, nhưng có vẻ chưa thấy được nhắc đến riêng nên xin chia sẻ.
- Một trong các edge domain của jsDelivr, dịch vụ CDN cho dự án mã nguồn mở lớn hàng đầu thế giới, là
cdn.jsdelivr.net, đã liên tục không thể truy cập từ sáng 2024-05-02 (KST) - Có vẻ đây là lỗi do chứng chỉ SSL hết hạn (
ERR_CERT_DATE_INVALID), nhưng hiện trạng thái đã đổi sang thông báo lỗi khác (ERR_CERT_COMMON_NAME_INVALID) - Tại Hàn Quốc, có nhiều trang web dùng jsDelivr để phân phối thư viện frontend JS, web font, v.v., nên cần kiểm tra dịch vụ hoặc dự án của mình
13 bình luận
Với
slick-sliderđược cung cấp trên cdn.jsdelivr.net thì bạn cũng có thể dùng bản được cung cấp trên cdnjs.cloudflare.com, nên tham khảo nhé.Ngay cả trên Discord cũng không thấy có thông báo.
Đến tầm chiều thì hàng loạt báo cáo xuất hiện rằng có gì đó không hoạt động hu hu
Vào khoảng 20:08 giờ Hàn Quốc, tác giả Dmitriy Akulov(@jimaek) đã đăng bài postmortem về sự cố.
https://www.jsdelivr.com/blog/jsdelivr-may-outage-postmortem/
Nếu dịch và tóm tắt nội dung chính (sử dụng Claude3 Sonnet LLM) thì như sau.
Vào đêm ngày 2 tháng 5 năm 2024, tên miền CDN của jsDelivr là cdn.jsdelivr.net đã cung cấp chứng chỉ SSL hết hạn cho các client ở một số khu vực nhất định, gây ra sự cố kéo dài hơn khoảng 5 giờ. Người dùng ở châu Phi, châu Á, châu Âu và một số quốc gia tại Mỹ Latinh là những bên bị ảnh hưởng chủ yếu.
Nguyên nhân sự cố là trong quá trình Cloudflare chuyển đổi từ nhà cung cấp chứng chỉ DigiCert sang Google Trust Services, phương thức xác thực tính hợp lệ của tên miền đã thay đổi, và do cấu hình đặc thù của jsDelivr nên việc tự động cấp chứng chỉ đã thất bại.
Nhà phát triển jsDelivr cho biết họ hoàn toàn chịu trách nhiệm về sự việc lần này, và trong tương lai, mỗi khi có thay đổi quan trọng từ nhà cung cấp CDN, phía jsDelivr sẽ vô hiệu hóa CDN đó và tiến hành kiểm chứng thủ công. Về dài hạn, họ có kế hoạch tối ưu hóa DNS, cân bằng tải, hệ thống chuyển đổi dự phòng và tích hợp dịch vụ Globalping của riêng mình.
Hình như vào sáng sớm đã có sự cố về chứng chỉ, nhưng tìm kiếm cũng không thấy gì cả
Đến giờ mới...
Tôi cũng gặp sự cố với dự án làm gấp, nên đã chuyển sang CDN riêng..
Tiện thể, CDN đó được triển khai như thế nào vậy?
Tôi cũng đã sao chép mã nguồn còn lại trong bộ nhớ đệm đĩa và chuyển sang CDN riêng để xử lý.
Bạn có thể khắc phục bằng cách đổi
cdncủa cdn.jsdelivr.net thànhfastlyhoặcgcore.Tìm hiểu thì thấy vấn đề này cũng từng xảy ra vào năm 2019, và có vẻ khi đó phản ứng xử lý cũng chậm.
https://github.com/orioncactus/pretendard/…
Cuối cùng có lẽ đáp án là các thư viện mang tính critical nên tự host thay vì dùng hosting miễn phí. Vì ngay cả gcore hay fastly rồi cũng có thể gặp vấn đề tương tự vào một lúc nào đó.
Trời, tôi cũng đang vò đầu bứt tai vì vụ này đây.