Trong số các sự cố làm website ngừng hoạt động, chứng chỉ SSL hết hạn và tên miền bị treo là hai lỗi gây mất uy tín với khách hàng nhất, dù nguyên nhân hoàn toàn có thể tính trước từng ngày.
Khi SSL hết hạn, khách vào web sẽ thấy ngay màn hình đỏ cảnh báo "Kết nối không an toàn", khiến hầu hết người dùng lập tức quay xe vì sợ lừa đảo. Còn khi tên miền hết hạn, trang web biến mất hoàn toàn và toàn bộ hệ thống email theo tên miền công ty cũng tê liệt theo.
Cả hai sự cố này đều có thể tránh được nếu có cảnh báo sớm. Nhưng điều nhiều người hay nhầm là gom cả hai vào chung một mốc, ví dụ cứ đặt nhắc trước 7 hay 30 ngày.
Thực tế, tính chất của chứng chỉ SSL và tên miền rất khác nhau:
- Chứng chỉ SSL (Let's Encrypt / ZeroSSL): Thường được cấp phát tự động bằng script máy chủ. Nếu gia hạn thất bại, bạn có thể chỉnh lại cấu hình và cấp lại cái mới chỉ trong vài phút.
- Tên miền (Domain Name): Phụ thuộc vào nhà đăng ký (registrar), thẻ tín dụng thanh toán, thủ tục duyệt tiền của kế toán hoặc người đứng tên tài khoản. Nếu có trục trặc thanh toán hoặc mất quyền truy cập tài khoản registrar, bạn có thể mất hàng ngày, thậm chí hàng tuần để gỡ.
Vì vậy, lịch theo dõi của hai thành phần này cần được tách biệt rõ ràng.
Lịch cảnh báo thực tế cho chứng chỉ SSL và tên miền
Dưới đây là các mốc theo dõi hợp lý để người vận hành chủ động xử lý trước khi có rủi ro:
| Tài sản | Mốc cảnh báo | Mục đích và hành động cần làm |
|---|---|---|
| SSL/TLS | 21 ngày | Kiểm tra xem tiến trình tự động gia hạn (Certbot cron job) đã chạy chưa, có gặp lỗi xác thực nào không. |
| SSL/TLS | 14 ngày | Khắc phục lỗi cấu hình DNS, mở lại port hoặc gia hạn thủ công có kiểm soát. |
| SSL/TLS | 7 ngày | Mức nguy cấp (Critical): Phải có người trực tiếp can thiệp và kiểm tra ngay trên website thật. |
| Tên miền | 60 ngày | Kiểm tra tài khoản nhà đăng ký, thẻ thanh toán còn tiền/hạn không, tính năng tự gia hạn có bật không. |
| Tên miền | 30 ngày | Tiến hành gia hạn dứt điểm; không nên phụ thuộc vào email nhắc tự động của nhà đăng ký. |
| Tên miền | 14 & 7 ngày | Báo động đỏ: Liên hệ người duyệt chi hoặc nhà đăng ký để giữ tên miền trước khi rơi vào trạng thái khóa. |
Vì sao theo dõi SSL không nên chỉ đợi đến mốc 30 ngày?
Trước đây, đa số chứng chỉ miễn phí như Let's Encrypt có thời hạn 90 ngày và Certbot thường được cấu hình tự chạy gia hạn khi thời hạn còn dưới 30 ngày. Nhiều người vì thế quen đặt cảnh báo đúng mốc 30 ngày.
Thói quen này đang dần không còn phù hợp vì hai lý do:
- Vòng đời chứng chỉ đang ngày càng ngắn lại: Các cơ quan cấp phát chứng chỉ số (CA) toàn cầu đang trong lộ trình rút ngắn thời hạn tối đa của chứng chỉ (Let's Encrypt đã công bố kế hoạch giảm dần xuống 64 ngày rồi 45 ngày). Khi vòng đời bị rút ngắn, nếu vẫn giữ mốc cảnh báo 30 ngày, hệ thống giám sát của bạn sẽ réo chuông liên tục ngay sau khi chứng chỉ mới vừa được cấp phát không lâu.
- Phiên bản Certbot mới đổi thuật toán: Certbot hiện nay tính thời điểm gia hạn dựa trên tỷ lệ vòng đời (thường là khi còn dưới 1/3 thời gian sử dụng) thay vì dùng một mốc 30 ngày cố định.
Mốc 21 ngày là điểm xuất phát cân bằng: đủ sớm để bạn nhận ra tiến trình tự động gia hạn đã bỏ lỡ lượt chạy đầu tiên, nhưng cũng không quá sát ngày để phải cuống cuồng xử lý.
Chỉ xem ngày hết hạn là chưa đủ: 6 điểm đứt gãy thường gặp khi gia hạn SSL
Một công cụ giám sát kiểm tra ngày hết hạn chỉ trả lời được câu hỏi: "Chứng chỉ hiện tại còn sống được bao lâu?". Nó không thể đảm bảo "Lần gia hạn sắp tới có thành công hay không".
Thực tế có rất nhiều máy chủ vẫn còn hạn 20 ngày, nhưng "cỗ máy" gia hạn ngầm bên trong đã hỏng từ tuần trước vì những lý do rất quen thuộc:
- Đổi bản ghi DNS hoặc bật proxy Cloudflare: Khiến phương thức xác thực
HTTP-01hoặcDNS-01không còn trỏ về đúng máy chủ ban đầu. - Đổi cấu hình tường lửa hoặc đóng port: Quên không mở cổng 80 trong khi Certbot cần cổng này để CA kiểm tra file xác thực.
- API Token của nhà cung cấp DNS hết hạn: Khiến script không thể tự tạo bản ghi
TXTđể gia hạn wildcard certificate. - Cron job hoặc Systemd timer bị tắt: Lệnh tự động gia hạn định kỳ không bao giờ được gọi dậy chạy.
- Certbot gia hạn thành công nhưng web server chưa tải lại: File chứng chỉ mới đã lưu trong đĩa cứng, nhưng Nginx hay Apache chưa chạy lệnh
reloadnên bộ nhớ vẫn giữ nguyên chứng chỉ cũ sắp hết hạn. - Mới thêm subdomain nhưng thiếu trong chứng chỉ: Chứng chỉ gia hạn thành công cho
example.comnhưng thiếu mất subdomainapi.example.comvừa tạo.
Vì vậy, bạn cần giám sát đồng thời hai chiều: theo dõi tiến trình chạy cron job bên trong máy chủ có trả về mã thành công không, và công cụ giám sát bên ngoài quét vào website thấy chứng chỉ mới đã thực sự được nạp lên hay chưa.
Nếu bạn đang gặp sự cố chứng chỉ không nhận diện đúng hoặc lỗi chuỗi trung gian, bài viết SSL hết hạn hoặc lỗi chuỗi chứng chỉ: Cách khoanh vùng sẽ hướng dẫn chi tiết cách kiểm tra.
Kiểm tra chứng chỉ ở đâu: Bẫy lệch pha giữa CDN và máy chủ gốc
Rất nhiều kỹ sư kiểm tra chứng chỉ bằng cách SSH vào VPS rồi gõ lệnh certbot certificates thấy hiển thị còn hạn 80 ngày là an tâm. Nhưng khi mở trình duyệt ngoài Internet thì website vẫn bị báo hết hạn.
Nguyên nhân là do mô hình mạng nhiều lớp:
Khách hàng → Cloudflare (CDN) → Nginx (Reverse Proxy) → Container Ứng dụng
Ở đây có hai chứng chỉ khác nhau cùng tồn tại:
- Chứng chỉ ngoài rìa (Edge Certificate): Nằm trên Cloudflare, là cái trực tiếp bảo vệ kết nối giữa trình duyệt của khách hàng và CDN.
- Chứng chỉ máy chủ gốc (Origin Certificate): Nằm trên VPS của bạn, bảo vệ kết nối từ Cloudflare về máy chủ.
Công cụ uptime monitor từ bên ngoài Internet quét vào trang web sẽ nhìn thấy chứng chỉ Edge. Do đó, bạn phải chắc chắn công cụ giám sát bên ngoài đang đo đúng chứng chỉ mà khách hàng nhìn thấy, đồng thời có cơ chế theo dõi riêng cho chứng chỉ trên VPS để không bị đứt kết nối ngầm giữa CDN và máy chủ gốc.
Cách thức kết hợp kiểm tra SSL với các bước quét mã HTTP và nội dung được phân tích rõ trong bài Uptime monitoring: Kiểm tra HTTP 200 hay nội dung trang?.
Tên miền: Vì sao cần bắt đầu theo dõi từ mốc 60 ngày?
Khác với SSL có thể sửa bằng vài dòng lệnh kỹ thuật, việc gia hạn tên miền liên quan đến con người, quy trình thanh toán và chính sách của nhà đăng ký.
Nếu chờ đến khi còn 7 ngày mới kiểm tra, bạn rất dễ đụng phải các rào cản ngoài ý muốn:
- Người giữ tài khoản quản trị tên miền đã nghỉ việc, tài khoản dính xác thực hai bước (MFA) gửi về số điện thoại cũ.
- Thẻ tín dụng liên kết thanh toán tự động đã hết hạn hoặc bị ngân hàng khóa giao dịch trực tuyến.
- Kế toán cần 3 đến 5 ngày để làm thủ tục tạm ứng hoặc chuyển khoản thanh toán cho nhà cung cấp.
Mốc 60 ngày là lúc bạn kiểm tra kỹ lại thông tin tài khoản: ai đang quản lý, thẻ thanh toán còn hoạt động không, email nhận thông báo gia hạn có phải là email đang dùng không.
Đến mốc 30 ngày, hãy chủ động hoàn tất việc gia hạn. Đừng bao giờ ỷ lại vào thời gian ân hạn (Grace Period) sau khi hết hạn. Ở nhiều đuôi tên miền, ngay khi hết hạn dù chỉ 1 giờ, nhà đăng ký có thể tạm khóa DNS trỏ về trang quảng cáo, hoặc yêu cầu một khoản phí khôi phục đắt gấp nhiều lần giá gia hạn ban đầu.
Nội dung một thông báo cảnh báo cần có những gì?
Một tin nhắn cảnh báo gửi về nhóm kỹ thuật chỉ vỏn vẹn dòng chữ: "SSL của domain example.com sắp hết hạn" thường khiến người nhận lúng túng vì thiếu ngữ cảnh xử lý.
Một cảnh báo chuẩn mực cần cung cấp đủ thông tin để người nhận hành động được ngay:
- Tên miền cụ thể: Ví dụ
api.example.comhaywww.example.com. - Loại chứng chỉ: Đang kiểm tra chứng chỉ ngoài CDN hay chứng chỉ gốc trên máy chủ.
- Thời gian còn lại chính xác: Còn bao nhiêu ngày, hết hạn vào ngày giờ nào.
- Nơi cấp phát (Issuer): Let's Encrypt, Cloudflare Inc ECC CA, hay DigiCert.
- Hành động gợi ý: Kiểm tra lại Certbot cron job, kiểm tra thẻ thanh toán tên miền, hay link tài liệu hướng dẫn nội bộ.
Sau khi đã gia hạn xong, hệ thống giám sát phải tự động nhận diện được thời hạn mới trên website thật và tự tắt cảnh báo, tránh việc gửi thông báo lặp lại làm phiền đội ngũ.
Quy trình lọc bớt cảnh báo lặp và phân luồng thông báo tới đúng người phụ trách được trình bày cụ thể tại bài Thiết kế cảnh báo có thể hành động. Để tích hợp tín hiệu thời hạn SSL và domain vào chiến lược quan sát tổng thể của máy chủ, bạn hãy xem bài trụ cột Nên monitoring những gì trên một VPS chạy website?.
Checklist theo dõi SSL và tên miền
- ☐ Lập danh sách đầy đủ toàn bộ tên miền, subdomain và chứng chỉ SSL đang vận hành trong doanh nghiệp.
- ☐ Tách riêng lịch cảnh báo: SSL bắt đầu từ mốc 21–14–7 ngày; tên miền bắt đầu từ mốc 60–30–14–7 ngày.
- ☐ Công cụ giám sát quét chứng chỉ SSL từ bên ngoài Internet vào đúng domain mà người dùng truy cập.
- ☐ Kiểm tra cả chứng chỉ ngoài rìa CDN và chứng chỉ trên máy chủ gốc (Origin).
- ☐ Có giám sát trạng thái thành công/thất bại của lệnh Certbot tự động trên máy chủ.
- ☐ Thông tin tài khoản nhà đăng ký tên miền, email nhận tin và thẻ thanh toán được rà soát định kỳ hàng năm.
- ☐ Chủ động gia hạn tên miền trước 30 ngày, không trông chờ vào thời gian ân hạn sau khi hết hạn.
- ☐ Cảnh báo gửi về kênh nội bộ có đầy đủ thông tin tên miền, số ngày còn lại và người chịu trách nhiệm xử lý.



