Unsolicited аutomatic caching via Argo Tunnels at CF edge


I’m using a named Tunnel with a DNS record to access my local development server via an HTTPS public URL. My experience so far is great!

There is one small problem. The CF edges cache the content by default which is not expected. The default cache behavior page explains that caching is done only if there are valid Cache-Control or Expires headers. I am positive that I do not send any of those headers and even though a request for a GIF file is being cached. The CF edge returns the following header: cache-control: max-age=14400

If I set the whole zone in the Dashboard → Caching → Configuration → Development Mode to Yes, then this automatic caching is disabled.

If I send Cache-Control: no-cache from the origin (development server), then the resource is not cached either. The returned cache status header is cf-cache-status: EXPIRED (and we still get cache-control: max-age=14400).

Is this the correct behavior?

FTR, the best solution I’ve come up with is to add a “Page rule” for the public URL specifying a rule of Cache Level: Bypass.