APM irule
Hi I needed an irule to allow traffic through an APM enabled virtual server without running it agaiast the access policy if the url is /ews
I thought this would work:
1st non-working irule________________________________________________________ when HTTP_REQUEST { if { [string tolower [HTTP::path]] starts_with "/ews" } { ACCESS::disable } }
But this does not work an EWS requests still seem to hit the APM policy and F5 requests preauth (which is part of access policy)
I found an irule to allow Skype traffic through which led me to create this irule instead:
2nd working irule_________________________________________________________ when HTTP_REQUEST { set is_disabled 0
if { [string tolower [HTTP::path]] starts_with "/ews" } { set is_disabled 1 set path [HTTP::path] ACCESS::disable HTTP::path _disable-$path pool /Common/outlook.mydomain.com.au.app/outlook.mydomain.com.au_edge_pool14 } } when HTTP_REQUEST_RELEASE { if { !$is_disabled } { return } HTTP::path $path unset is_disabled }
This second irule works as I intended and allows /ews traffic through as if there were no APM policy attached to the VS. But I dont understand why the first irule doesnt work as intended but the second one does. Why do you need these extra commands and event for request release? Can anyone explain why?