[Cloudflare] Phân biệt Flexible, Full và Full (Strict) SSL: Cấu hình thế nào cho đúng?
Cloudflare đóng vai trò là một người đứng giữa (Proxy) khách hàng và server của bạn. Khi bạn bật đám mây màu vàng (Proxy status: Proxied), luồng dữ liệu sẽ đi theo 2 chặng:
Chặng 1: Từ Trình duyệt khách hàng <-> Cloudflare. Chặng 2: Từ Cloudflare <-> Server của bạn (Origin Server).
Tùy vào việc bạn cấu hình SSL ở chặng nào mà chúng ta có các chế độ khác nhau.
1. Flexible SSL: "Bảo mật nửa vời"
Đây là chế độ dễ nhất nhưng kém an toàn nhất.
Chặng 1: Được mã hóa (HTTPS). Khách hàng thấy ổ khóa xanh.
Chặng 2: KHÔNG mã hóa (HTTP). Dữ liệu đi từ Cloudflare về Server của bạn là dữ liệu thô.
Ưu điểm: Server của bạn không cần cài SSL vẫn có ổ khóa xanh.
Nhược điểm: Dễ bị lỗi "Vòng lặp chuyển hướng" (Redirect Loop) nếu bạn cấu hình tự động chuyển HTTP sang HTTPS trên Server.
Dùng khi nào? Chỉ khi bạn không có quyền can thiệp vào Server để cài SSL.
2. Full SSL: "Bảo mật nhưng chưa kĩ"
Ở chế độ này, cả 2 chặng đều được mã hóa.
Chặng 1: HTTPS.
Chặng 2: HTTPS.
Điểm đặc biệt: Cloudflare không kiểm tra xem chứng chỉ SSL trên server của bạn có "xịn" hay không. Bạn có thể dùng Self-signed SSL (tự ký) vẫn chạy tốt.
Ưu điểm: Toàn bộ đường truyền được mã hóa.
Nhược điểm: Hacker vẫn có thể giả mạo server của bạn nếu chúng thực hiện tấn công Man-in-the-middle ở chặng 2.
3. Full (Strict) SSL: "Tiêu chuẩn vàng"
Đây là chế độ an toàn nhất và được khuyến khích sử dụng.
Cả 2 chặng đều dùng HTTPS.
Yêu cầu: Server của bạn phải có chứng chỉ SSL hợp lệ (được cấp bởi Let's Encrypt hoặc Cloudflare Origin CA) và còn hạn sử dụng.
Ưu điểm: Tuyệt đối an toàn. Nếu chứng chỉ trên server lỗi, Cloudflare sẽ ngắt kết nối ngay để bảo vệ dữ liệu.
4. Cách thiết lập trên Dashboard Cloudflare
Truy cập vào tên miền của bạn trên Cloudflare.
Chọn mục SSL/TLS -> Overview.
Chọn chế độ mong muốn (Khuyến khích chọn Full hoặc Full (Strict)).
Lưu ý quan trọng để tránh lỗi Redirect Loop: Nếu bạn chọn Flexible, hãy TẮT các quy tắc chuyển hướng HTTP sang HTTPS trên Nginx/Apache hoặc trong code Laravel của bạn. Hãy để Cloudflare lo việc chuyển hướng bằng cách bật tính năng "Always Use HTTPS" trong mục SSL/TLS -> Edge Certificates.
5. Mẹo nhỏ: Sử dụng Cloudflare Origin CA
Thay vì dùng Let's Encrypt (phải gia hạn 90 ngày/lần), bạn có thể vào mục SSL/TLS -> Origin Server trên Cloudflare để tạo một chứng chỉ có thời hạn lên tới 15 năm. Sau đó cài chứng chỉ này lên Server của bạn và bật chế độ Full (Strict). Cực kỳ nhàn và bảo mật!
Lời kết
Đừng để cái tên "Flexible" đánh lừa. Nếu bạn muốn một website chuyên nghiệp và an toàn, hãy luôn hướng tới Full (Strict).
All rights reserved