SSL hết hạn, web báo "Không an toàn": sửa ngay và để không bao giờ bị lại
·2 phút đọc
Chứng chỉ SSL hết hạn là sự cố nhỏ nhưng làm khách quay đầu ngay lập tức. Cách xử lý trong vài phút, và cách cài để nó tự gia hạn, có cảnh báo trước khi hết hạn.

Sáng ra, khách nhắn: "Web bên anh bị gì mà Chrome báo không an toàn?". Mở lên thì thấy màn hình đỏ "Kết nối của bạn không phải là kết nối riêng tư". Phần lớn trường hợp, lý do rất đơn giản: chứng chỉ SSL đã hết hạn.
Sự cố này không làm mất dữ liệu, nhưng khách thấy màn hình đó là quay đầu luôn, đơn hàng và form liên hệ coi như dừng.
Kiểm tra có đúng là hết hạn không
Bấm vào biểu tượng cảnh báo cạnh địa chỉ web, chọn xem chứng chỉ, nhìn dòng Có hiệu lực đến. Hoặc dùng một công cụ kiểm tra SSL trực tuyến bất kỳ, nhập tên miền là thấy ngày hết hạn.
Nếu chứng chỉ còn hạn mà vẫn báo lỗi, thường là một trong hai lý do:
- Chứng chỉ không khớp tên miền, ví dụ cấp cho
ten-mien.comnhưng khách vàowww.ten-mien.com. - Thiếu chứng chỉ trung gian, nên một số trình duyệt hay điện thoại cũ báo lỗi còn máy khác thì không.
Sửa ngay
Tùy chỗ bạn đang dùng:
- Hosting có trang quản trị (cPanel, DirectAdmin…): tìm mục SSL hoặc Let's Encrypt, bấm cấp lại hoặc gia hạn.
- Dùng Cloudflare: kiểm tra chế độ SSL. Nếu để "Full (strict)" mà chứng chỉ trên server đã hết hạn thì vẫn lỗi, phải gia hạn chứng chỉ ở server.
- VPS tự quản lý dùng Let's Encrypt: chạy lệnh gia hạn của certbot rồi khởi động lại web server. Nếu lệnh báo lỗi, đọc kỹ thông báo: hay gặp nhất là tên miền đã trỏ đi chỗ khác, hoặc cổng 80 bị chặn nên Let's Encrypt không xác minh được.
- Chứng chỉ mua trả phí: gia hạn với nhà cung cấp, rồi cài lại file chứng chỉ mới lên server.
Vì sao lần trước không tự gia hạn
Chứng chỉ Let's Encrypt chỉ có hạn 90 ngày nên phải tự gia hạn. Nó hay "quên" vì:
- Cron gia hạn chưa từng được cài, hoặc bị mất khi chuyển server.
- Gia hạn thành công nhưng web server không được tải lại, nên vẫn dùng chứng chỉ cũ.
- Cổng 80 bị tường lửa chặn sau một lần "dọn dẹp bảo mật".
- Người cài ban đầu đã nghỉ, không ai biết chứng chỉ được cấp bằng cách nào.
Để không bị lại
- Dùng web server tự lo SSL. Caddy hay Traefik tự cấp và tự gia hạn chứng chỉ, không cần cron riêng.
- Bật cảnh báo trước khi hết hạn. Nhiều dịch vụ theo dõi uptime miễn phí có mục kiểm tra SSL, báo qua email trước 14 hoặc 30 ngày. Đây là việc 5 phút mà đỡ được rất nhiều phiền phức.
- Ghi lại cách cấp chứng chỉ trong tài liệu vận hành: dùng công cụ gì, chạy ở đâu, ai có quyền.
- Kiểm tra cả tên miền, không chỉ SSL. Tên miền hết hạn còn tệ hơn, và cũng nên bật tự gia hạn ở nhà đăng ký.
Muốn biết web của bạn còn bao nhiêu ngày SSL, header bảo mật có thiếu gì không, bạn có thể gửi tên miền để tôi làm quick scan miễn phí.
Hệ thống của bạn cũng đang như vậy?
Sau 2–4 ngày Health Check, bạn sẽ biết nên sửa gì trước, gì để sau.

