CloudFlare ImgBed Là Gì? Hướng Dẫn Tạo Kho Lưu Trữ Ảnh Miễn Phí Từng Bước

Cập nhật: Tháng 11/2026 · Độ khó: Người mới bắt đầu
CloudFlare ImgBed Là Gì?
CloudFlare ImgBed là một ứng dụng mã nguồn mở giúp bạn tự tạo dịch vụ lưu trữ ảnh riêng trên nền tảng Cloudflare. Thay vì phụ thuộc vào các dịch vụ như Google Photos hay Imgur, bạn tự làm chủ toàn bộ kho ảnh của mình. Ảnh được lưu trong Cloudflare R2 — dịch vụ lưu trữ đám mây của Cloudflare với dung lượng miễn phí lên đến 10 GB. Không có giới hạn băng thông cho lưu lượng nội bộ, không quảng cáo, và không ai khác có thể xóa hay truy cập ảnh của bạn. Ứng dụng chạy trên Cloudflare Pages — cũng hoàn toàn miễn phí trong gói Free. Đây là lựa chọn phù hợp cho blogger, người làm nội dung, hoặc bất kỳ ai cần một nơi lưu ảnh ổn định để dán link vào bài viết.
Tại Sao Nên Dùng Cloudflare Để Lưu Trữ Ảnh Blog?
Cloudflare là một trong các nhà cung cấp hạ tầng internet lớn nhất thế giới, với mạng lưới máy chủ trải rộng trên 300 thành phố. Khi bạn lưu ảnh qua CloudFlare ImgBed, ảnh được phục vụ từ máy chủ gần người đọc nhất, giúp trang tải nhanh hơn. Đây là các lý do chính nên chọn giải pháp này:
- Miễn phí thực sự: Cloudflare R2 miễn phí 10 GB lưu trữ và 1 triệu lượt đọc mỗi tháng — đủ cho blog cá nhân trong nhiều năm.
- Không phụ thuộc bên thứ ba: Ảnh không bị xóa do vi phạm điều khoản của dịch vụ lạ.
- Tốc độ tải nhanh: Cloudflare CDN phân phối ảnh từ điểm gần người đọc nhất.
- Bảo mật toàn quyền: Chỉ bạn quyết định ai được phép upload hay xem ảnh.
Cần Chuẩn Bị Những Gì Trước Khi Bắt Đầu?
Trước khi làm theo hướng dẫn này, bạn cần có sẵn ba thứ sau:
- Tài khoản GitHub (miễn phí tại github.com) — nơi chứa code ứng dụng.
- Tài khoản Cloudflare (miễn phí tại cloudflare.com) — nơi ứng dụng chạy.
- Đã fork repo
CloudFlare-ImgBedvề tài khoản GitHub cá nhân của bạn.
Fork là gì? Fork là thao tác “sao chép” một dự án mã nguồn mở về tài khoản GitHub của bạn để tự cài và chỉnh sửa, mà không làm thay đổi bản gốc của tác giả.
Mục Lục
- Kết nối Cloudflare với GitHub
- Tạo cơ sở dữ liệu KV
- Tạo kho lưu trữ R2
- Gắn KV và R2 vào dự án
- Deploy lại và đặt mật khẩu
- Cài tên miền riêng
- Đổi ngôn ngữ sang tiếng Anh
- Bảo mật kho ảnh
- Câu hỏi thường gặp (FAQ)
Làm Thế Nào Để Kết Nối Cloudflare Với GitHub? {#bước-1}
Bước này giúp Cloudflare biết cần lấy code từ GitHub repo nào để chạy ứng dụng cho bạn.
- Truy cập dash.cloudflare.com và đăng nhập.
- Ở menu bên trái, chọn Workers & Pages.
- Nhấn Create application → chọn tab Pages → nhấn Connect to Git.
- Chọn tài khoản GitHub của bạn, tích vào repo CloudFlare-ImgBed → nhấn Begin setup.
- Điền thông tin cấu hình theo bảng dưới:
| Mục cấu hình | Giá trị cần điền |
|---|---|
| Project name | Tùy ý, ví dụ: cloudflare-imgbed |
| Production branch | main |
| Framework preset | None |
| Build command | npm install |
| Build output directory | /frontend-dist |
- Nhấn Save and Deploy. Cloudflare sẽ tự động kéo code và build trong khoảng 1–2 phút.
Lưu ý: Lần build đầu tiên có thể báo lỗi — đó là bình thường. Bạn sẽ deploy lại sau khi hoàn thành bước 4.
Làm Thế Nào Để Tạo Cơ Sở Dữ Liệu KV Trên Cloudflare? {#bước-2}
Cloudflare KV là dịch vụ lưu trữ dữ liệu dạng key-value (cặp tên–giá trị). CloudFlare ImgBed dùng KV để lưu thông tin về từng ảnh bạn upload, như tên file và đường dẫn. Bạn cần tạo một KV namespace tên img_url và gắn nó vào dự án ở bước sau.
- Ở menu bên trái Cloudflare, chọn Storage & Databases → KV.
- Nhấn Create a namespace.
- Đặt tên:
img_url(bắt buộc viết thường, đúng từng ký tự). - Nhấn Add.
Làm Thế Nào Để Tạo Kho Lưu Trữ R2 Trên Cloudflare? {#bước-3}
Cloudflare R2 là dịch vụ lưu trữ file đám mây — đây là nơi file ảnh thực sự được lưu. R2 tương tự Amazon S3 nhưng miễn phí băng thông ra ngoài (egress free), giúp bạn không bị tính phí khi người đọc tải ảnh về. Bạn cần tạo một bucket tên img-r2.
- Ở menu bên trái, chọn R2 Object Storage (hoặc Storage & Databases → R2).
- Nhấn Create bucket.
- Đặt tên:
img-r2(viết thường, có dấu gạch ngang ở giữa). - Nhấn Create bucket.
Làm Thế Nào Để Gắn KV Và R2 Vào Dự Án? {#bước-4}
Bindings (kết nối ràng buộc) là cơ chế để Cloudflare Pages có thể đọc và ghi dữ liệu vào KV và R2. Nếu không có bước này, ứng dụng sẽ chạy nhưng không lưu được ảnh. Tên variable phải khớp chính xác với những gì code ứng dụng đang gọi.
- Vào Workers & Pages → nhấn vào dự án
cloudflare-imgbed. - Chọn tab Settings → tìm mục Bindings.
- Thêm KV:
- Nhấn Add → chọn KV namespace
- Variable name:
img_url - KV namespace: chọn
img_urlvừa tạo ở bước 2
- Thêm R2:
- Nhấn Add → chọn R2 bucket
- Variable name:
img_r2 - R2 bucket: chọn
img-r2vừa tạo ở bước 3
- Nhấn Save.
Làm Thế Nào Để Kích Hoạt Trang Web Sau Khi Cấu Hình Xong? {#bước-5}
Sau khi lưu Bindings, bạn cần deploy lại để cấu hình mới có hiệu lực. Deploy lại là thao tác yêu cầu Cloudflare chạy lại toàn bộ quá trình build, lần này với đầy đủ KV và R2 đã được gắn vào.
- Chuyển sang tab Deployments.
- Tìm bản deploy mới nhất, nhấn dấu
...ở góc phải → chọn Retry deployment. - Chờ khoảng 1 phút đến khi hiện dấu tích xanh.
- Nhấn vào link
https://tên-dự-án.pages.devđể mở trang web. - Lần đầu truy cập, hệ thống yêu cầu bạn đặt mật khẩu Admin — hãy đặt ngay và lưu lại.
Kho ảnh của bạn đã sẵn sàng hoạt động.
Làm Thế Nào Để Gắn Tên Miền Riêng Vào CloudFlare ImgBed? {#tên-miền}
Mặc định, ứng dụng chạy trên địa chỉ dạng *.pages.dev. Nếu bạn muốn dùng tên miền riêng (ví dụ img.yourdomain.com), Cloudflare hỗ trợ điều này miễn phí, bao gồm cả chứng chỉ HTTPS tự động.
Bước 1: Gắn tên miền vào dự án
- Vào dự án trên Cloudflare → chọn tab Custom domains.
- Nhấn Set up a custom domain.
- Nhập subdomain bạn muốn, ví dụ:
img.yourdomain.com. - Nhấn Continue — Cloudflare sẽ tự thêm bản ghi DNS và cấp HTTPS trong vài phút.
Bước 2: Cập nhật đường link ảnh trong Admin
- Đăng nhập Admin → Settings → Page Settings.
- Tìm mục Default URL Prefix, điền:
https://img.yourdomain.com/file/ - Nhấn Save.
Từ đây, mỗi ảnh upload lên sẽ tự sinh link dạng https://img.yourdomain.com/file/ten-anh.webp.
Làm Thế Nào Để Đổi Ngôn Ngữ Sang Tiếng Anh? {#ngôn-ngữ}
CloudFlare ImgBed mặc định hiển thị tiếng Trung (Giản thể). Bạn có thể đổi sang tiếng Anh vĩnh viễn qua trang Admin, hoặc chuyển tạm thời bằng biểu tượng quả địa cầu trên thanh menu.
- Đăng nhập Admin → Settings → Page Settings.
- Tìm mục Default Language (默认语言).
- Chọn English → nhấn Save.
Sau khi lưu, giao diện mặc định cho tất cả người dùng sẽ chuyển sang tiếng Anh.
Làm Thế Nào Để Bảo Mật Kho Ảnh Chỉ Cho Riêng Bạn? {#bảo-mật}
Mặc định, bất kỳ ai biết đường link trang của bạn đều có thể upload ảnh lên, gây tốn dung lượng R2 và băng thông. Có hai cách để khóa quyền upload chỉ dành cho riêng bạn.
Cách 1 – Đặt Mật Mã Upload (Khuyên dùng cho người mới)
Cách này yêu cầu nhập đúng mật mã trước khi được phép upload. Người lạ không biết mật mã sẽ không thể tải ảnh lên.
- Vào Admin → Settings → Security Settings.
- Tìm mục Upload Auth Code, nhập mật mã bạn chọn.
- Nhấn Save.
Từ nay, mỗi lần mở trang để upload, hệ thống hỏi mật mã một lần — trình duyệt sẽ nhớ cho những lần sau.
Cách 2 – Dùng API Token Cho Phần Mềm Tự Động
Nếu bạn dùng phần mềm như PicGo, Obsidian, Typora để upload ảnh tự động, hãy tạo API Token riêng thay vì dùng mật mã thủ công:
- Vào Security Settings → API Tokens → tạo token mới với quyền
upload. - Dán token vào phần mềm theo định dạng:
Authorization: Bearer <token_của_bạn>
Mọi request không có token hợp lệ sẽ bị từ chối với mã lỗi 401 Unauthorized.
Tính Năng Thêm – Chặn Trang Khác Nhúng Ảnh Của Bạn
Hotlink Protection ngăn các trang web lạ nhúng link ảnh trực tiếp từ kho R2 của bạn, giúp tiết kiệm băng thông.
- Vào Security Settings → Access Management.
- Điền tên miền của bạn vào Allowed Domains, ví dụ:
yourdomain.com. - Bật WhiteList Mode → nhấn Save.
Tổng Kết 5 Bước Cài Đặt Chính
| Bước | Việc cần làm | Kết quả |
|---|---|---|
| 1 | Kết nối Cloudflare Pages với GitHub repo | Dự án được tạo trên Cloudflare |
| 2 | Tạo KV namespace img_url | Database lưu thông tin ảnh |
| 3 | Tạo R2 bucket img-r2 | Kho lưu file ảnh |
| 4 | Gắn KV và R2 vào dự án qua Bindings | Ứng dụng kết nối được với storage |
| 5 | Deploy lại, vào link và đặt mật khẩu Admin | Kho ảnh hoạt động hoàn chỉnh |
Câu Hỏi Thường Gặp (FAQ) {#faq}
CloudFlare ImgBed có thực sự miễn phí không?
Có. CloudFlare ImgBed là phần mềm mã nguồn mở, miễn phí hoàn toàn. Chi phí phát sinh duy nhất là từ các dịch vụ Cloudflare bạn dùng. Trong gói Free của Cloudflare: Cloudflare Pages miễn phí 500 lượt build/tháng, R2 miễn phí 10 GB lưu trữ và 1 triệu lượt đọc/tháng, KV miễn phí 100.000 lượt đọc/ngày. Với blog cá nhân thông thường, các giới hạn này đủ dùng trong nhiều năm mà không tốn đồng nào.
Ảnh lưu trên CloudFlare ImgBed có bị xóa không?
Ảnh chỉ bị xóa nếu bạn tự xóa hoặc nếu bạn vi phạm điều khoản sử dụng của Cloudflare (chứa nội dung bất hợp pháp, v.v.). Không như Imgur hay các dịch vụ lưu ảnh miễn phí khác, Cloudflare không xóa ảnh do “ít người xem” hay “tài khoản không hoạt động”. Bạn là người kiểm soát hoàn toàn.
Cần biết lập trình để cài đặt không?
Không cần biết lập trình. Toàn bộ quá trình thực hiện qua giao diện web của Cloudflare và GitHub. Bạn chỉ cần đọc hướng dẫn này và làm theo từng bước. Phần kỹ thuật nhất là sao chép đúng các tên img_url và img-r2 vào đúng chỗ — chỉ vậy thôi.
Tôi có thể dùng CloudFlare ImgBed với điện thoại không?
Có. Giao diện upload của CloudFlare ImgBed hoạt động trên trình duyệt điện thoại. Bạn có thể chụp ảnh và upload trực tiếp từ điện thoại. Tuy nhiên, quá trình cài đặt ban đầu nên làm trên máy tính để dễ thao tác hơn.
Ảnh upload lên có hiển thị công khai không?
Tùy bạn cấu hình. Mặc định, link ảnh là công khai — ai có link đều xem được. Nhưng nếu bạn không chia sẻ link, sẽ không ai tìm thấy ảnh của bạn. Để ẩn hoàn toàn, bạn có thể bật tính năng WhiteList Mode trong Security Settings để chỉ domain của bạn mới load được ảnh.
CloudFlare ImgBed khác gì so với Cloudinary hay ImgBB?
CloudFlare ImgBed là giải pháp tự host — bạn tự chạy ứng dụng, tự lưu trữ dữ liệu, không phụ thuộc vào server của nhà cung cấp thứ ba. Cloudinary và ImgBB là dịch vụ do người khác vận hành, có thể thay đổi chính sách, tăng giá, hoặc đóng cửa. Đổi lại, CloudFlare ImgBed yêu cầu bạn tự cài đặt (mất khoảng 20–30 phút theo hướng dẫn này) và tự quản lý.