For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

Rise_77519's avatar
Rise_77519
Icon for Nimbostratus rankNimbostratus
Jun 04, 2014

ram cache problem1

Hi, I configured a web acceleration profile with the 600 seconds max age value. when i look at the response from the server ( bigip vs) i see that the cache control max-age value 604800 and also see a age header that is value 495. I confused that which header (age ,cache control) i should consider that is max age value for contents and which is sent by the bigip?

 

Cache Age: 495 Cache-Control: max-age=604800,public Date:Wed, 04 Jun 2014 06:11:22 GMT

 

Thanks,

 

3 Replies

  • Hi!

    Had a discussion with F5 regarding this a few months ago. According to the technician I talked to the LTM performs OR logic to determine if cached entree is subject to revalidation evaluating "maximum age" and cache-control header in server's response. In another words if "maximum age==180" but cache-control: max-age==60", LTM will revalidate the content after 60 seconds.

    The cache-control: max-age might not be rewritten by the ltm because it keeps it's own records. You can check the entries by issuing the following command:

    show ltm profile ramcache 
    

    You should be able to verify this in the IIS log by checking how often the cached documents are fetched by the load balancer.

    /Patrik

  • Hi Patrik, Thanks for your response. I have an another issue that automate removing cache content on the f5 when app. servers content was changed. Because i dont want to wait until max. age value expiration for the cached object in the web accleration profile so I want to do this process immediately. is it possible wit an irule ?

     

    Thanks,

     

  • Mind that I have not tested this myself and I am currently not in position to do so, but I reckon you can use this method:

    https://devcentral.f5.com/wiki/iRules.CACHE__expire.ashx

    I imagine you can combine it with a custom header or cookie to set expiration.

    Example (not tested or checked for syntax and painfully written on an iphone):

    when HTTP_REQUEST {
    
       if { [HTTP:header exists expirecache] } {
          set cacheexp 1
       }
    }
    
    when CACHE_RESPONSE {
      if { [info exists cacheexp] && $cacheexp == 1 } {
        CACHE::expire
      } 
    }
    

    Note: If you don't want strangers invalidating your cache you might want to filter by ip as well. 🙂

    /Patrik