
Cloudflare hoạt động như một lớp lá chắn trung gian (Proxy) đứng giữa người truy cập và máy chủ gốc (Server) của bạn. Khi bạn kích hoạt biểu tượng đám mây màu cam (Proxy status: Proxied), quá trình truyền tải dữ liệu sẽ được chia làm 2 chặng:
- Chặng 1: Từ Trình duyệt của khách truy cập <-> Cloudflare.
- Chặng 2: Từ Cloudflare <-> Máy chủ gốc của bạn (Origin Server).
Tùy thuộc vào việc bạn cài đặt SSL ở chặng nào, Cloudflare sẽ cung cấp các chế độ bảo mật tương ứng. Dưới đây là phân tích chi tiết giúp bạn lựa chọn đúng:
1. Flexible SSL: "Bảo mật nửa vời"
Đây là tùy chọn dễ cài đặt nhất nhưng lại có mức độ bảo mật thấp nhất.
- Chặng 1: Dữ liệu được mã hóa (HTTPS). Người truy cập vẫn thấy biểu tượng ổ khóa xanh an toàn.
- Chặng 2: KHÔNG được mã hóa (HTTP). Dữ liệu gửi từ Cloudflare về máy chủ của bạn hoàn toàn là văn bản thô (clear text).
Nhược điểm: Rất dễ dính lỗi "ERR_TOO_MANY_REDIRECTS" (Vòng lặp chuyển hướng) nếu server của bạn có cấu hình tự động ép chuyển HTTP sang HTTPS.
Nên dùng khi nào? Chỉ áp dụng khi bạn dùng share hosting đời cũ không hỗ trợ SSL, hoặc bạn không có quyền can thiệp vào máy chủ để cài đặt chứng chỉ.
2. Full SSL: "Bảo mật nhưng chưa xác thực"
Ở chế độ này, dữ liệu trên cả 2 chặng đều đã được mã hóa.
- Chặng 1: Mã hóa HTTPS.
- Chặng 2: Mã hóa HTTPS.
Ưu điểm: Toàn bộ hành trình dữ liệu đều được mã hóa, an toàn hơn rất nhiều so với Flexible.
Nhược điểm: Kẻ tấn công có chuyên môn vẫn có thể giả mạo server gốc của bạn bằng phương thức tấn công Man-in-the-middle (MITM) ở chặng 2, do Cloudflare không xác thực tính hợp lệ của chứng chỉ.
3. Full (Strict) SSL: "Tiêu chuẩn vàng về bảo mật"
Đây là chế độ khắt khe nhất và luôn được các chuyên gia bảo mật khuyến cáo sử dụng.
- Cả 2 chặng đều sử dụng kết nối HTTPS.
- Yêu cầu bắt buộc: Server của bạn PHẢI được cài đặt một chứng chỉ SSL hợp lệ (từ Let's Encrypt, Sectigo... hoặc của chính Cloudflare Origin CA cấp) và vẫn còn hạn sử dụng.
4. Hướng dẫn thiết lập chuẩn trên Dashboard Cloudflare
- Đăng nhập và chọn tên miền của bạn trên hệ thống Cloudflare.
- Điều hướng tới menu SSL/TLS -> Overview.
- Click chọn chế độ bạn muốn (Khuyến nghị luôn chọn Full hoặc Full (Strict)).
LƯU Ý ĐỂ TRÁNH LỖI REDIRECT LOOP: Nếu bạn bắt buộc phải dùng chế độ Flexible, hãy đảm bảo đã TẮT toàn bộ các quy tắc chuyển hướng từ HTTP -> HTTPS trên server gốc (trong cấu hình Nginx/Apache, file .htaccess hoặc trong code Laravel/WordPress).
Thay vào đó, hãy để Cloudflare lo việc này bằng cách bật tính năng "Always Use HTTPS" tại menu SSL/TLS -> Edge Certificates.
5. Mẹo hay: Dùng Cloudflare Origin CA để nhàn hạ lên tới 15 năm
Nếu dùng các loại SSL miễn phí thông thường (như Let's Encrypt), bạn sẽ phải lo gia hạn mỗi 90 ngày. Có một cách tối ưu hơn rất nhiều:
Vào mục SSL/TLS -> Origin Server trên Cloudflare, nhấn Create Certificate để tạo một chứng chỉ miễn phí với thời hạn lên đến 15 năm. Sau đó, bạn chỉ cần mang chứng chỉ này cài vào Server của bạn và bật chế độ Full (Strict). Cực kỳ nhàn hạ và đảm bảo an toàn tối đa!
Lời kết
Đừng vì chữ "Flexible" nghe có vẻ linh hoạt mà lạm dụng nó. Nếu bạn muốn xây dựng một nền tảng thực sự chuyên nghiệp và bảo mật cho khách hàng của mình, hãy luôn hướng tới cấu hình Full (Strict).
Chúc các anh em cấu hình thành công!