Thư mục bài viết
Bạn muốn xây dựng hệ thống lưu trữ siêu tiết kiệm chi phí với Backblaze B2 nhưng không biết cách liên kết tên miền? Bài viết này sẽ hướng dẫn bạn từng bước toàn bộ quy trình tích hợp Backblaze với tên miền tùy chỉnh từ Cloudflare.
Hướng dẫn chi tiết này về phân giải DNS, cấu hình chứng chỉ SSL và thiết lập quy tắc định tuyến sẽ giúp bạn tận dụng tối đa Liên minh Băng thông (Bandwidth Alliance) và đạt được lưu lượng tải xuống hoàn toàn miễn phí. Mở khóa hướng dẫn cấu hình nâng cao, dễ sử dụng này ngay bây giờ!
Vài ngày trước, tôi đã mày mò với việc lưu trữ hình ảnh, cố gắng chuyển tất cả hình ảnh từ blog của mình lên Backblaze B2 và sử dụng Cloudflare CDN để tăng tốc độ tải xuống.
Kết quả là, toàn bộ việc này đã chiếm hết cả buổi chiều.
Các hướng dẫn trực tuyến khá rời rạc và thiếu sót, nhiều bước bị sai, khiến tôi khá bực bội. Sau khi hoàn thành, tôi quyết định thực hiện toàn bộ quy trình từ đầu đến cuối để ngăn người khác mắc phải những lỗi tương tự.

Tóm lại: giải pháp này thực sự tuyệt vời. Backblaze B2 cung cấp dung lượng miễn phí hàng ngày, và kết hợp với bộ nhớ đệm CDN của Cloudflare, tốc độ đủ nhanh, và chi phí gần như bằng không. Sau một tháng sử dụng, hóa đơn sẽ bằng không (vượt quá dung lượng miễn phí có thể chỉ tốn vài xu).
Được rồi, nói chuyện phiếm đủ rồi, chúng ta bắt đầu thôi.
Bước đầu tiên là đăng ký tài khoản Backblaze và tài khoản Cloudflare. Việc này rất đơn giản; ai cũng có thể làm được.
Tạo một thùng chứa
Sau khi đăng ký, hãy vào trang quản trị Backblaze, nhấp vào Tài khoản của tôi, sau đó chọn Các nhóm (Buckets), rồi chọn Tạo nhóm (Create a Bucket).
Bạn có thể đặt tên cho bucket bất kỳ; điều quan trọng là chọn "Công khai" cho quyền truy cập. Hãy để mọi thứ khác ở chế độ mặc định.

Sau khi tạo ảnh, bạn có thể tải ảnh lên để kiểm tra xem ảnh có thể truy cập được hay không. Nhấp vào chi tiết ảnh sẽ hiển thị một liên kết, trông giống như thế này:
https:// f005.backblazeb2. com/file/bucket-name/xxxxx.jpg

Tên miền này được Backblaze cấp ngẫu nhiên, và thành thật mà nói, nó không được đẹp mắt cho lắm, hơn nữa nó còn để lộ trực tiếp thông tin về bucket lưu trữ của bạn. Vì vậy, bước tiếp theo là chuyển sang Cloudflare.
DNS
Để thêm trang web của bạn vào Cloudflare, nếu bạn đã mua tên miền ở nơi khác, hãy chọn "Thêm trang web" và thay đổi DNS thành máy chủ tên miền của Cloudflare, ví dụ như danica.ns.cloudflare.com. Hệ thống sẽ cung cấp hướng dẫn chi tiết về cách thực hiện từng bước.


Sau khi thêm trang web, hãy thêm bản ghi DNS.
Chọn CNAME làm loại, nhập tên miền phụ mong muốn (ví dụ: oss), và nhập tên miền bạn vừa nhận được từ Backblaze làm đích đến (ví dụ: f005.backblazeb2.com). Nhớ bật biểu tượng đám mây màu cam để xem trạng thái proxy; điều này cần thiết để sử dụng CDN của Cloudflare.

Đến bước này, bạn có thể truy cập các hình ảnh thông qua tên miền của riêng mình, như sau:
https:// oss.xxx .com/file/bucket-name/xxxxx.jpg
Nó trông đẹp hơn nhiều so với tên miền ngẫu nhiên ban đầu, nhưng vẫn chưa đủ. Bởi vì URL vẫn chứa chuỗi "/file/bucket-name/", vừa xấu vừa để lộ cấu trúc bucket của bạn, khiến nó trở nên không an toàn.
Viết lại đường dẫn URL
Truy cập vào trang quản trị Cloudflare, nhấp vào Rules, sau đó Overview, rồi URL Rewrite Rules và tạo một quy tắc mới.

Bạn có thể đặt tên cho quy tắc bất kỳ, chọn "Không bao gồm" cho URL yêu cầu, rồi điền "/file/". Điều này có nghĩa là chỉ những yêu cầu không bao gồm đường dẫn "/file/" mới được xử lý.
Tuy nhiên, nếu bạn muốn các quy tắc chính xác hơn, bạn có thể trực tiếp khớp với tên miền phụ đó.

Điền vào ô cuối cùng:
concat(/file/桶名, http.request.uri.path)
Sau đó triển khai.
Sau đó, kết quả truy cập sẽ như sau:
https:// oss.xxx.com/ xxxxx.jpg
Nó sạch bong kin kít, không có gì thừa thãi cả.
Cảm giác thật tuyệt.
Xóa các tiêu đề phản hồi không cần thiết.
Bước này là tùy chọn, nhưng tôi khuyên bạn nên thực hiện.
Các tiêu đề phản hồi của Backblaze chứa một loạt thông tin bắt đầu bằng "x-bz-", chẳng hạn như "x-bz-file-id", "x-bz-file-name" và "x-bz-content-sha1". Thông tin này tiết lộ chi tiết về nơi lưu trữ tệp của bạn, những thông tin không cần thiết phải hiển thị cho người dùng.
Thao tác tương tự như trước. Trong phần quy tắc, chọn "Quy tắc chuyển đổi tiêu đề phản hồi" và tạo quy tắc mới.

Cấu hình việc xóa các tiêu đề này:
x-bz-content-sha1 x-bz-file-id x-bz-file-name x-bz-info-src_last_modified_millis x-bz-upload-timestamp
Tôi không nghĩ mình đã thấy mục x-bz-info-src_last_modified_millis được liệt kê, nhưng nó có được đề cập trong hướng dẫn chính thức, vì vậy tôi cũng đã thêm vào. Dù sao thì thêm vào cũng không hại gì.
Ngoài ra còn có một quy tắc khác cũng rất quan trọng.
Tối ưu hóa hiệu quả bộ nhớ đệm. Trên Cloudflare, bạn có thể thiết lập quy tắc tiêu đề phản hồi để nối giá trị ETag với các tiêu đề phản hồi do Backblaze trả về.
concat(http.response.headers[x-bz-content-sha1][0], http.response.headers[x-bz-info-src_last_modified_millis][0], http.response.headers[x-bz-file-id][0])
Sau khi thiết lập xong, hãy quay lại và kiểm tra các tiêu đề phản hồi hình ảnh. Tất cả các tiêu đề bắt đầu bằng "x-bz" sẽ biến mất, và bạn sẽ thấy giá trị ETag.
Sạch sẽ và hiệu quả.
Cấu hình các quy tắc bộ nhớ đệm
Thêm quy tắc trang trên Cloudflare, nhập tên miền bạn đã phân giải cộng với /* vào URL, chọn "Cache All" cho cấp độ bộ nhớ đệm và đặt TTL bộ nhớ đệm biên là một tháng.
Chúng ta cũng cần cấu hình Backblaze. Trong phần cài đặt bucket, hãy thêm một dòng vào thông tin bucket:
{"cache-control":"max-age=720000"}Bạn có thể điều chỉnh thời gian này nếu cần; đơn vị là giây. 720000 giây xấp xỉ 8 ngày, như vậy là đủ.

Giờ khi bạn truy cập lại hình ảnh của mình, bạn sẽ thấy nội dung sau trong tiêu đề phản hồi:
cache-control: max-age=720000
cf-cache-status: HIT
Bạn có thấy thông báo HIT không? Điều đó có nghĩa là bộ nhớ đệm đang hoạt động.
Bạn không cần phải lấy tài nguyên từ Backblaze mỗi lần; CDN sẽ cung cấp chúng trực tiếp cho bạn, điều này rất nhanh và giúp bạn tiết kiệm dung lượng miễn phí của Backblaze.
Nhân tiện nói đến điều đó, mặc dù Backblaze cung cấp dung lượng miễn phí hàng ngày, nhưng thực tế thì không nhiều lắm. 10GB dung lượng lưu trữ và 1GB lưu lượng tải xuống mỗi ngày là quá đủ nếu bạn chỉ tải lên hình ảnh cho blog, nhưng nếu bạn tải lên video hoặc các tệp lớn, bạn nên tận dụng tốt bộ nhớ đệm của Cloudflare và tránh kết nối trực tiếp đến máy chủ gốc.
Phối hợp với ứng dụng khách PicGo.
Việc lựa chọn công cụ hiển thị hình ảnh phía máy khách là tùy thuộc vào bạn; có những lựa chọn khác như ipic. Phần này chủ yếu tập trung vào PicGo.
Chỉ cần tìm kiếm PicGo trên GitHub, tìm trang phát hành và tải xuống phiên bản tương ứng.
Sau khi cài đặt, bạn cần cài đặt thêm plugin S3 vì Backblaze B2 tương thích với API S3.

Sau đó, hãy truy cập Backblaze và tạo Khóa ứng dụng. Trên trang Khóa ứng dụng, nhấp vào Thêm Khóa ứng dụng và chọn quyền đọc và ghi.


Sau khi có được ID khóa và Khóa ứng dụng, hãy điền chúng vào plugin S3 của PicGo.
Có một cạm bẫy cần phải đề phòng ở đây.
Nhiều hướng dẫn trực tuyến sử dụng định dạng s3.us-west-xxx.backblazeb2.com cho điểm cuối, nhưng nếu bạn đang sử dụng tên miền tùy chỉnh được liên kết với Cloudflare giống như tôi, bạn cần nhập tên miền tùy chỉnh của mình. Nhập https://oss.xxx.com vào trường nút, sau đó nhập tên nhóm lưu trữ (bucket) mà bạn vừa tạo vào trường nhóm lưu trữ.


Sau khi hoàn tất việc so khớp, hãy lưu tệp lại, rồi tải lên một ảnh thử nghiệm.
Nếu có thể tải lên và truy cập thông qua tên miền tùy chỉnh thì tốt.
Xem mức sử dụng
Nếu bạn muốn kiểm tra mức sử dụng Backblaze B2 của mình, bạn có thể xem trên trang Tài khoản của tôi trong giao diện quản trị Backblaze. Dung lượng lưu trữ hàng ngày, số lượt tải xuống và số lượng yêu cầu B2 đều được liệt kê rõ ràng, giúp bạn dễ dàng theo dõi xem mình đã vượt quá giới hạn hay chưa.

Thực ra, việc thiết lập toàn bộ hệ thống này không quá khó, nhưng cũng không dễ dàng; chúng tôi đã gặp phải một vài trở ngại. Phần khó chịu nhất là các chi tiết; thiếu sót dù chỉ một chi tiết cũng dẫn đến việc không thể truy cập, tốc độ tải chậm hoặc lộ thông tin.
Ấn tượng lớn nhất của tôi sau khi thiết lập xong là giải pháp này hoàn hảo cho những người sở hữu trang web cá nhân hoặc các blog nhỏ. Nó có chi phí thấp, nhanh chóng, và sau khi cấu hình xong, bạn hầu như không cần phải làm gì thêm – một giải pháp một lần sử dụng trọn đời.
Hơn nữa, bằng cách tích hợp Backblaze với Cloudflare, khách truy cập sẽ thấy tên miền tùy chỉnh của bạn, tiêu đề phản hồi được xử lý gọn gàng và có khả năng tăng tốc CDN, giúp trải nghiệm người dùng tốt không kém gì các dịch vụ lưu trữ hình ảnh trả phí.
Thành thật mà nói, trong thời đại mà mọi thứ đều được tính phí dựa trên mức sử dụng, việc tìm được một gói cước gần như miễn phí như thế này quả là tuyệt vời.
Cuối cùng, tôi muốn nói rằng nếu bạn cũng đang gặp khó khăn với việc lưu trữ hình ảnh, tôi hy vọng bài viết này có thể giúp bạn tiết kiệm được một buổi chiều thử và sai.
Vì bạn đã đọc đến đây, nếu thấy hữu ích, hãy nhấn thích và chia sẻ nhé. Nếu muốn nhận thông báo sớm nhất, bạn cũng có thể theo dõi tôi! ⭐
Cảm ơn bạn đã đọc bài viết của tôi. Hẹn gặp lại lần sau.
Hy vọng Chen Weiliang Blog ( https://www.chenweiliang.com/ Bài viết "Liên kết tên miền tùy chỉnh Cloudflare với Backblaze B2 (Đạt được 100% lưu lượng truy cập miễn phí)" được chia sẻ ở đây có thể hữu ích cho bạn.
Chào mừng bạn đến chia sẻ liên kết của bài viết này:https://www.chenweiliang.com/cwl-34303.html
