Yes, jumping up to the Business tier is usually enough to ensure you won't get suspended[0].
The point of Cloudflare is that hosting your website for free is a service, and you "pay" for that service in strengthening their network; from their S-1[1]:
> Free customers are an important part of our business. .. Our free customers create scale, serve as efficient brand marketing, and help us attract developers, customers, and potential employees.... In addition, the added scale and diversity of this traffic makes us valuable to a diverse set of global ISPs, improving the breadth and economic terms of our interconnections, bandwidth costs, and co-location expenses.
Your theoretical cost as a free customer is outweighed by the positive effects of protecting over 10% of websites on the internet, largely for free. Now, if you run a free video site proxying all your multimedia stream segments to serve pirated movies, or create a site dedicated to user image uploads and quickly balloon to serving hundreds of terabytes a day at the expense of Cloudflare, your value to the network is trumped by how much you're actively costing them in uplink costs and risk exposure.
TFA explicitly says they're on the Pro plan, ie they're not a free customer. And good job spamming the same incorrect comment in the thread multiple times.
I address that - $200/mo is a lot more than the $20/mo a pro plan costs, which is why upgrading to Business might've been enough, depending on the traffic levels of the service in question. But if your service is pushing terabytes of images or billions of requests, you're costing CF a lot more than they're getting back (in both money and a stronger network presence). Pretty much every booru gets away with paying $200/mo to Cloudflare for pushing likely 20TB/day minimum with a lot of it cached (thus saving them on bandwidth costs to their main image hosting provider).
For it being allowed, the CEO commented as such here. I realise it's not the best reference but I'm not searching through ToS during lunch haha https://news.ycombinator.com/item?id=20791605
As for how to, something like this (Maybe don't use this specifically in production, it was cobbled together from examples as a proof of concept).
It may be missing caching, depending on if/how Cloudflare caches the output of Workers. It's been a moment since I've looked at this project but I'm pretty sure it was caching files that could be cached (using the etag bit on line 22).
E: Random thought you probably don't actually need to do this anymore, R2 has public bucket and custom domain settings now. I needed this for the CORS headers, as that was being a pita at the time
I’ve seen this exact poor customer experience dozens of times and I shake my head each time.
If there’s a tier to pay for that removes the restriction, then every agent who supports that product should know about it and guide users on why and how to upgrade.
The point of Cloudflare is that hosting your website for free is a service, and you "pay" for that service in strengthening their network; from their S-1[1]:
> Free customers are an important part of our business. .. Our free customers create scale, serve as efficient brand marketing, and help us attract developers, customers, and potential employees.... In addition, the added scale and diversity of this traffic makes us valuable to a diverse set of global ISPs, improving the breadth and economic terms of our interconnections, bandwidth costs, and co-location expenses.
Your theoretical cost as a free customer is outweighed by the positive effects of protecting over 10% of websites on the internet, largely for free. Now, if you run a free video site proxying all your multimedia stream segments to serve pirated movies, or create a site dedicated to user image uploads and quickly balloon to serving hundreds of terabytes a day at the expense of Cloudflare, your value to the network is trumped by how much you're actively costing them in uplink costs and risk exposure.
0: https://community.cloudflare.com/t/the-way-you-handle-bandwi... (they were suspended for proxying over 140TB of a bunch of archive files/binary files over the course of 15 days)
1: https://gist.github.com/judge2020/e49138d588950167b736c630aa...