Forum Discussion

Gea-Suan_Lin_34's avatar
Gea-Suan_Lin_34
Icon for Nimbostratus rankNimbostratus
Oct 13, 2009

HTTP_RESPONSE not fired every time when OneConnect enabled

I write an iRule to let F5 to insert "Cache-Control" header when it sees 3xx/4xx/5xx response:

 
 when HTTP_RESPONSE { 
   if {[HTTP::status] >= 300 and 
       not [HTTP::header exists "Cache-Control"]} { 
     HTTP::header insert "Cache-Control" "must-revalidate, no-cache, no-store" 
   } 
 } 
 

But I notice that, when OneConnect enabled, not every 4xx request will be inserted "Cache-Control".

I also tried to simplify the problem to:

 
 when HTTP_RESPONSE { 
   HTTP::header insert "Cache-Control" "must-revalidate, no-cache, no-store" 
 } 
 

In theory, I would see Cache-Control for every request, but it didn't. I only see 30~35 reqs for 100 requests.

System is BIG-IP 9.4.7 Build 330.0 Hotfix HF2.

6 Replies

  • That's a bit odd... do you have RAM cache enabled on the VIP by chance? If so, you'd see the CACHE_RESPONSE event triggered. If that's not the case, I'd suggest contacting F5 Support to troubleshoot this. If you end up doing this can you reply back with what you find?

     

     

    Thanks,

     

    Aaron
  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Agreed, that sounds pretty odd. I can't think of a reason, even with Oneconnect on, that you wouldn't see the appropriate header in ever response. Is something upstream nuking headers by chance? If not, definitely worth a support case.

     

     

    Colin
  • Thanks for your reply, I didn't enable RAM cache. I'll contact F5 Support to find out the problem.
  • Can you reply back once you get more info on this?

     

     

    Thanks,

     

    Aaron
  • Hello, I've contacted F5 support team to solve this issue, and this issue looks like SOL10653. I duplicate an OneConnect profile and set virtual server to use it, and then everything looks fine now.

     

     

    Thanks,
  • Thanks for the info. That's a slightly esoteric bug. Glad you were able to get a workaround.

     

     

    Aaron