Forum Discussion

IheartF5_45022's avatar
Mar 03, 2010

TCL Error after Web Accelerator deployment

Hi All,

 

 

I have this iRule which was working fine some time ago;-

 

 

when HTTP_RESPONSE {

 

foreach header {Etag Set-Cookie} {

 

while { [HTTP::header exists $header] } {

 

if { $::debug>=1 } {

 

log local0. "Removing- $header: [HTTP::header value $header]"

 

}

 

HTTP::header remove $header

 

}

 

}

 

}

 

 

I've been away for a while and when I've come back our logs are FULL of these error messages;

 

 

Feb 21 04:01:52 tmm tmm[4381]: 01220001:3: TCL error: ir_xxxxx_resource_download - Out of bounds (line 1) invoked from within "HTTP::header remove $header" ("foreach" body line 6) invoked from within "foreach header {Etag Set-Cookie} { while { [HTTP::header exists $header] } { if { $::debug>=1 } { log local0. "Removing- ..."

 

 

 

While I was away Web Accelerator with caching was deployed and the OS was upgraded to 9.4.8 from 9.4.1 I assume that my problem realtes to the following;

 

 

HTTP::header commands affect only headers passing THROUGH the load balancer, not locally-generated responses

 

 

 

My question is....how do I strip headers from cached responses?

 

 

Rgds

 

Joanna

 

1 Reply

  • An update on this, the approach above, to remove headers in the HTTP_RESPONSE event is the correct way to prevent headers from being cached, however given that Etag header is inserted by the F5 (replacing any returned one), it was the attempt to remove that that caused the error above.

     

    There is actually no need to remove ETag when using WAM as WAM inserts it's own consistent Etag which seems to be based on a kind of hash of the resource content.