Cách dùng SSL check tool | Kiểm tra hạn chứng chỉ trước khi khách báo đỏ

(Cập nhật: 19 tháng 7, 2026 ) SSL HTTPS SSL check Let's Encrypt chứng chỉ SSL Labs freelance
Kết luận

Hết hạn SSL = cả site hiện cảnh báo đỏ — khách bỏ chạy, thanh toán/API có thể gãy. Cách nhanh: mở SSL check, nhập domain, bấm Kiểm tra trên SSL Labs, đọc hạn chứng chỉchain. Với Let’s Encrypt (90 ngày), đừng chờ khách nhắn — kiểm tra trước 30 ngày hoặc bật auto-renew.

Freelance quản lý site SME, sinh viên deploy VPS lần đầu, và junior DevOps thường chỉ nhớ SSL khi Chrome hiện “Kết nối của bạn không phải là kết nối riêng tư.” Bài này là cách dùng SSL check tool thực chiến: nhập domain → đọc báo cáo → biết phải renew hay sửa chain.

Ai nên bookmark

  • Freelance WordPress / hosting nhận thêm domain khách mỗi tháng
  • Team nhỏ không có dashboard cert riêng
  • Người vừa cài Nginx + Let’s Encrypt trên VPS Việt Nam / DigitalOcean

Bạn sẽ có: quy trình tool, cách đọc SSL Labs, bảng triệu chứng → nguyên nhân, checklist vận hành, case study quên renew.


SSL check trên Kawa làm gì?

Công cụ SSL check không tự “đo” chứng chỉ trong máy bạn. Luồng thực tế:

  1. Bạn nhập tên miền (ví dụ shop.khachhang.vn)
  2. Tool bỏ https:// và path nếu bạn dán nhầm URL đầy đủ
  3. Nút Kiểm tra trên SSL Labs mở
    https://www.ssllabs.com/ssltest/analyze.html?d=shop.khachhang.vn
  4. Qualys SSL Labs quét server public và hiện báo cáo chi tiết

Phù hợp: domain đã trỏ DNS ra internet, cần xem hạn + cấu hình TLS.
Không phù hợp: hostname chỉ tồn tại trong LAN/VPN, hoặc bạn không muốn domain xuất hiện trên lịch sử scan công khai.

Không cần tạo tài khoản Kawa — mở trang, nhập, bấm.


Quy trình dùng từng bước

Bước 1 — Nhập đúng domain

Nên nhậpTránh
example.comhttps://example.com/admin (tool sẽ cố cắt, nhưng nên sạch)
api.example.comIP thuần nếu bạn chưa biết SNI/host
subdomain thật sự phục vụ HTTPSDomain chưa trỏ DNS (scan sẽ fail hoặc timeout)

Bước 2 — Mở SSL Labs

Trên /vi/tools/ssl-check/:

  1. Điền tên miền vào ô Tên miền
  2. Bấm Kiểm tra trên SSL Labs
  3. Đợi progress bar (lần đầu có thể 1–2 phút)

Bước 3 — Đọc 4 mục quan trọng trước

  1. Certificate → Valid until (hoặc notAfter) — còn bao nhiêu ngày?
  2. Subject / Common names / SAN — có khớp hostname bạn mở không?
  3. Chain issues — thiếu intermediate?
  4. Overall Rating (A/B/C/F) — cấu hình TLS tổng thể
Ưu tiên hạn trước grade

Site grade B vẫn “vào được”. Site hết hạn thì hầu hết trình duyệt chặn. Khi khách báo đỏ, nhìn Valid until trước, tối ưu cipher sau.


Hết hạn SSL gây ra gì?

Hệ quảAi chịu thiệt
Cảnh báo đỏ trên trình duyệtKhách truy cập web / admin
App mobile / webhook từ chối TLSThanh toán, Zalo OA, API đối tác
SEO và uy tín tụtChủ shop, agency quản lý site
Support ngập ticket “web sập”Freelance đang ngủ yên

Let’s Encrypt mặc định ~90 ngày. VPS cài tay mà quên cron certbot renew là kịch bản kinh điển ở team nhỏ.


Ba cách kiểm tra — khi nào dùng cái nào

So sánh cách kiểm tra hạn SSL
Cách Ưu Nhược / lưu ý
SSL check → SSL Labs Đủ hạn + grade + chain, không cần SSH Domain phải public; scan mất vài phút
Khóa trình duyệt → Chứng chỉ Nhanh trên máy bạn Khó xem chain sâu; mỗi máy một lần click
openssl s_client Script được, chỉ định port Cần terminal; dễ quên -servername (SNI)

Lệnh tham khảo khi bạn đang SSH:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -dates -subject

Nhìn dòng notAfter=. Dùng SSL check khi bạn không muốn mở terminal hoặc cần giải thích cho khách bằng screenshot grade.


Đọc báo cáo: triệu chứng → việc cần làm

Bạn thấy trên SSL LabsNguyên nhân hay gặpViệc làm
Valid until còn < 30 ngàySắp hết hạnKiểm tra auto-renew; renew tay nếu cần
Certificate not valid / expiredĐã quá hạnRenew ngay, reload Nginx/Caddy
Chain incompleteThiếu intermediate CACài fullchain.pem thay vì chỉ cert.pem
Domain mismatchCert cho www nhưng mở apex (hoặc ngược)Mở đúng host hoặc cấp lại SAN
Grade thấp (C/F)TLS cũ, cipher yếuNâng config sau khi site đã xanh

Case study: freelance quên renew

Khách nhắn 8h sáng: “Web bị virus à? Hiện chữ đỏ.” Domain dùng Let’s Encrypt trên VPS Ubuntu, cài 3 tháng trước, không có timer renew. Mở SSL check → SSL Labs → notAfter đã qua 2 ngày.

Sửa:

sudo certbot renew --force-renewal
sudo systemctl reload nginx

Rồi scan lại bằng cùng tool để gửi khách ảnh “Valid until” mới. Thời gian xử lý ~15 phút — phần lớn là tìm đúng server. Nếu có lịch kiểm tra 30 ngày trước, ticket này không tồn tại.


Checklist vận hành cho site khách

In ra hoặc lưu Notion:

  • Mỗi domain production có entry trong sheet: domain | issuer | ngày hết hạn | ai renew
  • Let’s Encrypt: xác nhận certbot.timer hoặc cron certbot renew chạy
  • Sau khi trỏ DNS mới / đổi CDN: chạy SSL check lại (cert có thể vẫn của host cũ)
  • Wildcard / nhiều SAN: kiểm tra đúng hostname khách đang mở
  • Còn 30 ngày: thử renew staging hoặc xác nhận email hết hạn từ CA
  • Sau renew: hard refresh, kiểm tra mobile 4G (tránh cache office Wi-Fi)

Monitoring gợi ý (khi đã có nhiều hơn 3 site)

  • Uptime robot / Better Stack kèm check TLS
  • Calendar nhắc 60 và 30 ngày trước hạn
  • SSL check thủ công khi vừa migrate Cloudflare / CDN

Câu hỏi hay gặp khi dùng tool

Nhập www hay không www?
Nhập đúng host mà trình duyệt đang mở. Cert có thể chỉ cover một bên nếu chưa cấu hình SAN đủ.

SSL Labs báo “Assessment failed”?
Firewall chặn IP scan, site down, hoặc DNS chưa trỏ. Kiểm tra ping/DNS trước, rồi thử lại.

Có thay được openssl hoàn toàn không?
Cho việc “xem hạn + giải thích cho khách” thì SSL check + SSL Labs đủ. Cho CI/automation thì vẫn nên openssl hoặc checker trong pipeline.

Self-signed trên staging?
Trình duyệt và SSL Labs sẽ cảnh báo — đúng kỳ vọng. Đừng dùng self-signed cho domain khách production.


Tóm tắt quy trình 60 giây

  1. Mở /vi/tools/ssl-check/
  2. Gõ domain → Kiểm tra trên SSL Labs
  3. Đọc Valid until → nếu < 30 ngày thì xử lý renew
  4. Xem ChainRating nếu vẫn còn cảnh báo sau khi hạn còn dài
  5. Gửi khách screenshot + ngày hết hạn mới sau khi sửa

Liên kết liên quan