HSTS là gì? Có nên bật không?

HSTS là gì? Có nên bật không?

Cập nhật lần cuối: 05/05/2026

HSTS là gì? Có nên bật HSTS cho website không? Tìm hiểu cách hoạt động, lợi ích, và những sai lầm có thể khiến website bị khóa truy cập hoàn toàn.

HSTS là gì?

HSTS (HTTP Strict Transport Security) là một cơ chế bảo mật giúp trình duyệt chỉ cho phép truy cập website qua HTTPS.

Khi HSTS được bật:

  • Người dùng không thể truy cập bằng HTTP
  • Trình duyệt tự động chuyển sang HTTPS
  • Ngăn chặn các tấn công downgrade (ép về HTTP)

HSTS giúp “khóa cứng” HTTPS ở phía trình duyệt

Xem thêm: SSL Là Gì?

HSTS hoạt động như thế nào?

Khi user truy cập website HTTPS, server trả về header:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Ý nghĩa:

  • max-age: thời gian trình duyệt ghi nhớ (giây)
  • includeSubDomains: áp dụng cho tất cả subdomain
  • preload: đăng ký vào danh sách preload của trình duyệt

Sau đó:

  • Trình duyệt sẽ không bao giờ gọi HTTP nữa trong thời gian này

Ngay cả khi user gõ http://, trình duyệt vẫn tự chuyển sang https://

Lợi ích của HSTS

  • Ngăn chặn tấn công Man-in-the-Middle
  • Bảo vệ user trên mạng công cộng (WiFi, 4G)
  • Tăng độ tin cậy của website

HSTS là một trong những yếu tố giúp đạt A+ trên SSL Labs

Xem thêm: Cách cấu hình SSL đạt A+ trên SSL Labs (Apache & Nginx)

Có nên bật HSTS không?

Câu trả lời: Có — nhưng phải đúng thời điểm

Bạn nên bật HSTS khi:

  • SSL đã hoạt động ổn định
  • Tất cả trang đều chạy HTTPS
  • Không còn Mixed Content

Bật HSTS sai thời điểm có thể khiến website “chết hoàn toàn”

Xem thêm: Mixed Content là gì? Cách fix triệt để

Case thực tế: Bật HSTS và “toang site”

Một case rất phổ biến:

  • Website vừa cài SSL
  • Chưa redirect hết HTTP --> HTTPS
  • Chưa fix Mixed Content
  • Bật HSTS với max-age=31536000

Kết quả:

  • Trình duyệt cache HSTS
  • Một số tài nguyên vẫn HTTP --> bị block
  • Website lỗi layout hoặc không load

Nghiêm trọng hơn:

  • Nếu SSL bị lỗi (expired / misconfig)
  • User không thể truy cập lại website

Trình duyệt sẽ chặn truy cập hoàn toàn và không cho “bỏ qua cảnh báo”

Sai lầm nguy hiểm nhất: HSTS Preload

Nhiều người thêm preload mà không hiểu rõ.

Khi preload:

  • Domain được đưa vào danh sách của Chrome, Firefox
  • Trình duyệt luôn bắt buộc HTTPS, ngay cả lần truy cập đầu tiên

Vấn đề lớn

Nếu sau này:

  • SSL hết hạn
  • Subdomain chưa có SSL
  • Server lỗi

--> Website sẽ bị khóa hoàn toàn trên mọi trình duyệt

Không có cách fix nhanh:

  • Không thể tắt ngay
  • Phải submit request để remove khỏi preload list (mất thời gian)

HSTS preload là con dao hai lưỡi — dùng sai là “dính đòn nặng”

Cách bật HSTS an toàn 

Bước 1: Test với thời gian ngắn

max-age=300

Theo dõi:

  • Có lỗi HTTPS không
  • Có Mixed Content không

Bước 2: Tăng dần

max-age=86400
--> 1 ngày

max-age=2592000
--> 30 ngày

Bước 3: Production

max-age=31536000; includeSubDomains

Chỉ thêm preload khi:

  • 100% chắc chắn hệ thống ổn định

Luôn test kỹ trước khi bật lâu dài

Cấu hình HSTS

Apache

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Nginx

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Những lỗi phổ biến khi dùng HSTS

Bật khi chưa có SSL hoàn chỉnh --> Website lỗi ngay lập tức

Quên subdomain --> Subdomain bị block nếu không có SSL

Bật preload quá sớm --> Không rollback được

SSL hết hạn --> User không thể truy cập

HSTS không sai — sai là cách bạn sử dụng nó

HSTS ảnh hưởng hiệu năng và SEO như thế nào?

  • Giảm redirect HTTP --> HTTPS
  • Tăng tốc truy cập lần sau
  • Tăng độ tin cậy với trình duyệt

Ngoài ra:

  • Là yếu tố để đạt A+ SSL Labs
  • Gián tiếp cải thiện SEO

Kết hợp HSTS + TLS 1.3 + HTTP/3 = hiệu năng và bảo mật tối đa

Xem thêm: TLS 1.2 vs TLS 1.3: Có cần nâng cấp không?
Xem thêm: HTTP/1.1 vs HTTP/2 vs HTTP/3: SSL ảnh hưởng hiệu năng website như thế nào?

Kết luận

  • HSTS là cơ chế bảo mật rất mạnh
  • Giúp ép toàn bộ traffic sang HTTPS
  • Là yếu tố quan trọng để đạt chuẩn bảo mật cao

Tuy nhiên:

Nếu cấu hình sai, HSTS có thể khiến website bị khóa hoàn toàn

Bài viết mới nhất

PKI là gì? Cơ chế vận hành hệ thống SSL/TLS từ gốc Certificate Authority (CA) là gì? Hoạt động như thế nào trong hệ thống SSL/TLS TLS Handshake là gì? Cơ chế tạo kết nối HTTPS an toàn SSL Termination là gì? Nên terminate SSL ở Load Balancer hay Web Server? ERR_SSL_PROTOCOL_ERROR là gì? Cách fix nhanh và triệt để

Có thể bạn quan tâm

Gọi điện
Zalo
Google Maps