I ran the test from https://www.webpagetest.org from the same location multiple times so the image should be cached, but each time I check I see: cf-cache-status: MISS
Does anything come to mind for why this isn’t working?
Thank you very much for your help. I was able to successfully get caching using either of your suggested methods and see ‘cf-cache-status: HIT’ for both methods.
Headers in BackBlaze are set at the bucket level. If you go to the ‘Bucket Settings’ and set ‘Bucket Info’ to {“cache-control”:“max-age=7200”} then it sets the appropriate headers for 2 hours. Note that regardless of what value I set for max-age, I still see ‘cache-control: public, max-age=14400’ when I test it on https://www.webpagetest.org.
To change it in Cloudflare, you just need a page rule for Edge Cache TTL which overrides the cache expiry in the headers. Since I was only interested in caching images, I didn’t need the ‘Cache Everything’ rule. Using this method I can set the TTL to as low as 2 hours (on the free plan) as opposed to 4 hours (by changing the headers directly in the BackBlaze bucket).