Cloudflare là gì? Cloudflare là một nhà cung cấp dịch vụ reverse proxy, là một loại proxy server trung gian giữa một máy chủ và các client.
Vậy chúng ta có nên sử dụng Cloudflare cho website hay không? Bài viết này sẽ phân tích một số ưu điểm và khuyết điểm để giúp bạn quyết định có nên sử dụng Cloudflare cho bản thân mình hay không.
CloudFlare sử dụng công nghệ giống như CDN để thực hiện một số việc chúng tôi làm. Giống như CDN, chúng tôi chạy nhiều trung tâm dữ liệu và lưu trữ nội dung tĩnh ở cạnh để làm cho nó nhanh hơn. Tuy nhiên, CDN truyền thống chỉ nhận được yêu cầu cho một số tập hợp con yêu cầu và yêu cầu người dùng chọn nội dung nào lưu trữ trên mạng của CDN. CDN truyền thống có thể được mô tả chính xác như là lưu trữ phân tán ồ ạt, nơi CloudFlare được mô tả chính xác hơn như một proxy đảo ngược bộ nhớ đệm. Điều này có nghĩa là, không giống như CDN truyền thống, CloudFlare xử lý tất cả các yêu cầu đến một trang web. Do đó, chúng tôi có thể:
Theo mình hiểu thì Cloudflare là một máy chủ trung gian và nó sẽ xử lý mọi thứ trước khi nó gửi yêu cầu đến máy chủ cũng như trả dữ liệu về người dùng. Cloudflare cung cấp nhiều tính năng tốt như CDN free, SSL free, Apps, bảo mật và tối ưu hóa tốc độ tải trang. Tuy nhiên, trong một vài trường hợp, các tính năng đó lại là một khuyết điểm. Dưới đây mình sẽ đưa ra một số ưu điểm và khuyết điểm, tùy theo từng trường hợp của bạn mà bạn có nên sử dụng Cloudflare hay không.
Lưu ý: Bạn có thể sử dụng Cloudflare như một dịch vụ DNS thông thường bằng cách tắt đám mây màu vàng cho tên miền của bạn trong mục DNS. Bài viết này đề cập đến dịch vụ CDN của Cloudflare.
Cloudflare là một máy chủ trung gian, từ hình ảnh trên, chúng ta có thể thấy tất cả lưu lượng truy cập sẽ được xử lý thông qua máy chủ Cloudflare. Nếu lưu lượng là hợp lệ, Cloudflare sẽ gửi yêu cầu đến và chờ nhận dữ liệu từ máy chủ gốc. Sau đó nó sẽ xử lý một số công việc mà bạn đã thiết lập trên tài khoản và trả dữ liệu về cho người truy cập. Giả sử, máy chủ gốc của bạn đặt tại Việt Nam, nhưng khi bạn sử dụng dịch vụ proxy của Cloudflare thì trình duyệt sẽ gửi yêu cầu đến máy chủ Cloudflare ở Hồng Kông, máy chủ này sẽ gửi yêu cầu về máy chủ gốc tại Việt Nam và sau đó máy chủ ở Hồng Kông sẽ trả dữ liệu về cho trình duyệt.
Nếu bạn không dùng Cloudflare và các máy chủ trung gian, các lưu lượng truy cập sẽ gửi yêu cầu và nhận dữ liệu trực tiếp từ máy chủ của bạn.
Bạn nghĩ thế nào? Cloudflare có giúp làm tăng tốc độ website của bạn trong bất kỳ trường hợp? Tùy từng trường hợp:
Cá nhân mình sử dụng máy chủ web ở Singapore, sau khi tắt Cloudflare thì tốc độ tải trang đã nhanh hơn rõ rệt. Bạn nên cân nhắc không sử dụng Cloudflare nếu bạn đang sử dụng host VN để phục cho người truy cập ở VN…
Mình cũng đã từng gặp lỗi Error 502 Bad Gateway hay Error 502 Bad Gateway gì đó mình không nhớ, mình có hai site đều sử dụng Cloudflare, cả hai site đều đặt trên cùng một máy chủ nhưng chỉ có một site bị trong khoảng 15 phút. Theo lý thuyết thì nguyên nhân là do máy chủ, nhưng mình nghi ngờ nguyên nhân thật sự là do Cloudflare.
Auto Minify (Tự động rút gọn) loại bỏ các ký tự không cần thiết khỏi mã nguồn của bạn (như khoảng trắng, chú thích, v.v.) mà không thay đổi chức năng của nó. Việc giảm thiểu có thể nén kích thước tệp nguồn làm giảm lượng dữ liệu cần được chuyển cho khách truy cập và do đó cải thiện thời gian tải trang.
Cloudflare sẽ nhận mã HTML được trả về từ máy chủ gốc của bạn và sẽ luôn thực hiện công việc này nếu tùy chọn này được bật. Thời gian xử lý khá nhanh, tuy nhiên việc này sẽ không cần thiết nếu mã gốc của bạn đã được giảm bớt. Hơn nữa, có những thư viện giúp bạn có thể làm điều này tốt hơn, mình đang dùng W3 Total Cache để giảm bớt HTML, CSS và JavaScript. Nếu bạn đã giảm bớt mã thì không có lý do gì để sử dụng tính năng này.
Rocket Loader ưu tiên nội dung trang web của bạn (văn bản, hình ảnh, phông chữ, v.v.) bằng cách trì hoãn việc tải tất cả JavaScript của bạn cho đến khi kết xuất.
Việc trì hoãn các tập lệnh JavaScript có thể gây ra các lỗi mà phổ biến nhất là các hàm và biến chưa được định nghĩa. Ví dụ, trong mã HTML bạn nhúng một đoạn mã JavaScript có sử dụng lệnh jQuery, việc trì hoãn tập lệnh jQuery sẽ khiến kịch bản JavaScript bị lỗi, xem thêm về xóa JavaScript chặn hiển thị.
Cloudflare cung cấp dịch vụ CDN miễn phí rất hữu ích mà bạn có thể tận dụng để tăng tốc website và tiết kiệm tài nguyên cho máy chủ. Tất cả các tài nguyên tĩnh như tệp tin hình ảnh, JavaScript và CSS sẽ được tải về một lần từ máy chủ của bạn và được lưu lại trên máy chủ Cloudflare. Sau đó, các tệp tin này sẽ được phục vụ từ máy chủ Cloudflare mà không cần phải gửi yêu cầu đến máy chủ gốc của bạn. Thậm chí, bạn có thể cache cả nội dung HTML và tất cả những nội dung khác.
Đây là một trong những tính năng đáng dùng nhất, mình thấy một vài ưu điểm sau:
Nếu tệp tin trên máy chủ gốc của bạn có sự thay đổi, bạn chỉ cần vào mục Caching và nhập đường dẫn trong mục Purge Cache để xóa phiên bản đã cache, Cloudflare sẽ lấy phiên bản mới hiện tại từ máy chủ gốc của bạn.
Nếu bạn không muốn sử dụng Cloudflare cho các website chính, bạn vẫn có thể sử dụng CDN free của nó thông qua subdomain. Điều này có nghĩa là người truy cập sẽ truy cập vào trang web của bạn trực tiếp qua máy chủ gốc của bạn và các tệp tin hình ảnh, JavaScript và CSS sẽ được phục vụ từ máy chủ CDN của Cloudflare qua subdomain hoặc một tên miền khác. Site của tui đang áp dụng phương pháp này.
Cloudflare không phải là sự lựa chọn duy nhất nếu bạn muốn có một chứng chỉ SSL miễn phí cho website của bạn. Bạn có thể tạo chứng chỉ SSL miễn phí với Let’s Encrypt nhưng Cloudflare sẽ cung cấp cho bạn các tùy chọn đơn giản hơn nhiều.
Ưu điểm:
Nhược điểm:
Cloudflare Dedicated Certificates và Universal SSL chỉ hỗ trợ các trình duyệt trên Windows Vista hoặc OS X 10.6 hoặc mới hơn, không hỗ trợ Windows XP và không hỗ trợ trình duyệt IE 6. Trên di động, Mobile Safari for iOS 4.0, Android 3.0 (Honeycomb) và mới hơn, Windows Phone 7.
Một tính năng rất tiện lợi nhưng cũng có những tiêu cực. Bởi vì Cloudflare là một máy chủ trung gian, nó có thể giải mã tất cả các dữ liệu đã được mã hóa giữa người dùng và máy chủ. Nếu bạn cho rằng dữ liệu giữa người dùng và máy chủ của bạn là tuyệt mật, bạn không nên giao cho một bên thứ ba xử lý chúng. Nhưng dù sao, Cloudflare vẫn nên được tin tưởng nhiều hơn nhiều dịch vụ tạo blog miễn phí hay các dịch vụ lưu trữ dữ liệu khác. Xem thêm về cách kích hoạt SSL free.
Cloudflare cũng cung cấp kho ứng dụng với rất nhiều ứng dụng hữu ích như Google Analytics, Back To Top Button, Save To Pinterest, Share Buttons… Bạn có thể cài đặt các ứng dụng này chỉ với vài nhấp chuột. Cloudflare sẽ chèn một tập lệnh JavaScript vào mã HTML của bạn để chèn các ứng dụng mà bạn đã cài vào website của bạn. Xem tất cả các ứng dụng trong mục Apps.
Trên đây chỉ là một số ý kiến cá nhân về cách hoạt động và các tính năng của Cloudflare. Ngoài ra, còn rất rất nhiều tùy chọn và tính năng mà bạn có thể tìm hiểu thêm. Mình chưa từng sử dụng các gói trả tiền của Cloudflare nên không thể có ý kiến về các gói này. Bây giờ theo bạn thì chúng ta có nên sử dụng Cloudflare không? Cá nhân mình đã tắt Cloudflare cho domain chính và chỉ sử dụng CDN free và SSL free của nó để phục vụ cho các tệp tin tĩnh như hình ảnh, JS và CSS. Nó giúp tăng tốc độ và tiết kiệm băng thông cho website của mình khá nhiều.
Chúc bạn thành công!