Backblaze B2 Cloudflare

Cloudflare workers might work, but they are very expensive to use to re-write every image request we receive. Edit: Backblaze support responded. As of 2020-08-10, they do not have a way to accomplish this using just Cloudflare DNS + B2, even using the S3-like CNAME here. You need to put some kind of URL rewriting service of your own in the. That’s why we have similar agreements to Backblaze in place with Google, Microsoft, IBM, Digital Ocean, etc. It’s pretty shameful, actually, that AWS has so far refused. When using Cloudflare, they don’t pay for the bandwidth, and we don’t pay for the Bandwidth, so why are customers paying for the bandwidth.

Macos mojave download. Jun 27, 2019 A macOS Catalina USB install drive is a great tool to have on hand to for quick and easy macOS 10.15 reinstalls. We show you how in this video tutorial. Apr 07, 2020 Or as the macOS Catalina is out, chances are you’ve lots of Mac and would like to create macOS Catalina bootable USB installer on Windows. For installing most systems like Windows 10 and others, creating a bootable USB installer is the first step and also the most important step. Nov 20, 2020 Download macOS Catalina - macOS Catalina gives you more of everything you love about Mac. Experience music, TV, and podcasts in three all-new Mac apps.

Backblaze B2 Cloud Storage delivers proven, amazing cost-effective cloud storage with no hidden fees or strings attached. Often referred to as Infrastructure-as-a-Service (IaaS) or object storage, B2 Cloud Storage enables developers, IT people, and others to easily store mass volumes of data in the cloud. B2 is Backblaze's cloud storage system. Paths are specified as remote:bucket (or remote: for the lsd command.). This is usually set to a Cloudflare CDN URL as Backblaze offers free egress for data downloaded through the Cloudflare network. Rclone works with private buckets by sending an 'Authorization' header.

TL;DR Adding workers to the cloudflare proxy, as in the official tutorial, seems to conflict with the authentication in rclone. The following is how I reached the speculation.

I was setting up rclone with backblaze b2, with RCLONE_B2_DOWNLOAD_URL set to Cloudflare to proxy requests. Meanwhile I followed the official blog from Backblaze 'How to allow Cloudflare to fetch content from a Backblaze B2 private bucket – Backblaze Help'(couldn't post links) to enable public access to a private bucket.

Backblaze B2 Cloudflare

I had a VPS working but on multiple clients rclone showed errors when copying an object.

Backblaze B2 Cloudflare Plus

I did some search and found one post concerning Backblaze with Cloudflare. 'Correct format for RCLONE_B2_DOWNLOAD_URL variable? - Help and Support - rclone forum' It wasn't the same case, but it came to me that it might due to the difference between versions. So I did a binary search on the releases. It happens that some commit between v1.52.3 and v1.53.0 breaks it. I looked up the commits between them and located a seemingly relevant commit 957311. I confirmed that with this commit reverted the problem resolves, but applying the revert to the latest commit does not do the same.

I added some debug info to confirm that this issues is raised by the different styles of api: fetch object by id or by name. I looked at the errors again and it came to me that maybe this has something to do with Cloudflare tampering the authentication headers. The worker script in the tutorial is as follows.

Backblaze B2 Cloudflare Pro

I removed the worker and everything got smooth. It took me a whole evening. Whew!

This post is for sharing my solution to people who encounter the same problems. I have some questions, too. The script enables public access to private buckets by settings the 'Authorization' header. I confirmed that with the worker I can publicly fetch the files from cloudflare. How did that conflict with the credentials in rclone? The files are requested by filenames but not file ids, so are there other authentication schemes?

Backblaze B2 Cloudflare 2

I don't know golang, so apologies if I missed anything. Thanks in advance!