Inconstant cf-cache-status header in cached resources

I would like to cache certain part of my website

domain.com/cache_test/index.html
domain.com/cache_test/img/img1.jpeg
domain.com/cache_test/img/img2.jpeg

My origin server is using SSL which I have configured using nginx.

  1. I have setup website domain.com on cloudflare → updated nameservers as required on google domains. The domain to be “Active” on cloudflare.

I have below simple configurations

  1. DNS Setup
    DNS Setup: Full (Cloudflare imported DNS configuration from google domains and seems working fine its pointing to my origin server)
    SSL Mode : Full

  2. Caching > Configuration > Caching Level > “standard”

  3. Caching > CacheRules >
    1. I have created a single rule here which checks that if FULL URL contain “cache_test” in the url then
    1.1 Cache eligibility → Eligible for cache
    1.2 Edge TTL > 2 Hour
    1.3 Browser TTL > 2 Hour

  4. I am not using page rule as of now as I found out from posts here in community that CacheRules are doing same thing.

Thats all I have configured and deployed.

Now I am trying to access https://domain.com/cache_test/img/img1.jpeg (Using curl to void browser cache) and checking its response headers I am not seeing any “cf-cache-status” or “cf-ray” headers initially for sometime and then check it every few minutes suddenly “cf-cache-status” or “cf-ray” start to appear and then again disappear in the sometime in responses for resource which are cached.

Can you please help me understand this behaviour. How can I make it constant. I am expecting that I always see “cf-cache-status” weather its HIT or MISS.

Note : I am using Free plan.

May I know what is the status code? And did you change the proxy mode?