Forum Discussion

GavinW_29074's avatar
GavinW_29074
Icon for Nimbostratus rankNimbostratus
Feb 07, 2012

RAM Cache URI Exclude list not working?!

Hi there,

 

 

I've got a Web-Acceleration profile set-up on our v11.1 F5's...

 

 

I'm trying to exclude a specific URL from the cache which is responsible for a Set-cookie HTTP action...

 

 

I've got the profile set-up as follows:

 

list /ltm profile web-acceleration Caching_ConcesPortal

 

ltm profile web-acceleration Caching_ConcesPortal {

 

app-service none

 

cache-uri-exclude { /views/home.faces }

 

cache-uri-include none

 

cache-uri-include-override none

 

cache-uri-pinned { /javax.faces.resource/* }

 

defaults-from optimized-caching

 

}

 

 

 

gavinw@act-bun-f501(Active)(/Common)(tmos) list /ltm virtual X.app/x.x.x_https profiles

 

ltm virtual X.app/x.x.x_https {

 

profiles {

 

Caching_ConcesPortal {

 

context all

 

}

 

X.app/x.x.x_ssl {

 

context clientside

 

}

 

HTTP_Rewrite {

 

context all

 

}

 

oneconnect {

 

context all

 

}

 

stream {

 

context all

 

}

 

tcp-wan-optimized {

 

context all

 

}

 

wan-optimized-compression {

 

context all

 

}

 

}

 

}

 

 

 

 

 

However after clearing the Ram cache, I am still seeing the offending URL being cached...

 

gavinw@act-bun-f501(Active)(/Common)(tmos) delete /ltm profile ramcache Caching_ConcesPortal

 

... Hit page with web-browser ...

 

gavinw@act-bun-f501(Active)(/Common)(tmos) show /ltm profile ramcache Caching_ConcesPortal uri /views/home.faces

 

Ltm::Ramcaches /Common/Caching_ConcesPortal

 

 

Host: x.x.x

 

URI : /views/home.faces

 

--------------------------------------

 

Source Slot/TMM 1/3

 

Owner Slot/TMM 1/1

 

Rank 0

 

 

Size (bytes) 2140

 

Hits 0

 

Received 2012-02-07 12:06:34

 

Last Sent 2012-02-07 12:06:34

 

Expires 2012-02-08 12:06:34

 

Vary Type encoding

 

Vary Count 1

 

Vary User Agent none

 

Vary Encoding none

 

Total records returned: 1

 

 

Any ideas???

 

 

I've also tried various exclude strings such as */views*, /views*, /views/*. But none provide the results I'd expect...

 

 

Am I missing something?

 

 

Cheers

 

Gavin

 

  • Ok, it looks like I've found the issue with some additional iRule debugging...

    It looks like the CACHE::enable command ignores the Profile Ram cache settings... I had one rule that was doing the following on a HTTP_REQUEST:

     Check Request method for Caching. 
    if { [HTTP::method] equals "POST" } {
    if {$static::cacheControlDebug == 1} { log local0. "POST Method, disabling Cache" }  
    CACHE::disable
    } else {
    if {$static::cacheControlDebug == 1} { log local0. "GET Method, enabling Cache" }   
    CACHE::enable
    }

    Commenting out the CACHE::enable line has resolved the issue...

    Is this behaviour by design???

    Cheers

    Gavin