3 ms·
Pre-signed URLs generated with B2's S3 APIs are incompatible with Cloudflare at the moment. We are working around this by using a Cloudflare Worker to proxy dat
by vishnumohandas 5y ago
Pre-signed URLs generated with B2's S3 APIs are incompatible with Cloudflare at the moment. We are working around this by using a Cloudflare Worker to proxy data from B2 to the client. This is currently free if you're on the Bundled plan and Cloudflare's support has promised that when they decide to start charging, they will alert us in advance.
Interestingly, Workers Unbound charges 0.045/GB which is more than B2's 0.01/GB.
A viable long term alternative could be Wasabi that offers free egress in return for a $6/TB plan. But we're waiting to see how things pan out before executing an expensive migration.
- bjyule 5y agoWhen you say incompatible, are you talking about the cache not working or something else? How are you working around this using workers?
- vishnumohandas 5y agoB2 documentation suggests that after adding a CNAME (eg. cdn.ente.io) for their bucket endpoint (eg. bucket.s3.eu-central-003.backblazeb2.com), you will be able to replace the latter with the former. This breaks with the native B2 APIs with the following error: ``` { "code": "not_found", "message": "/api/top_level_url_mapping", "status": 404 } ``` The last I checked was a few months ago, not sure if things have been fixed now. With Workers, we simply fetch the remote resource from B2 and return it back to the client, acting as a thin proxy.