Forum Discussion
mpenglish_63863
Oct 17, 2012Nimbostratus
Hi Steve,
There are two iRules which are are just from the F5 Exchange documentation, i am interested in knowing how to extend either of them to resolve the issue
First iRule:
when HTTP_REQUEST {
if {([HTTP::uri] == "/") } {
HTTP::uri /owa
}
}
Second iRule:
iRule to select pool and persistence method when all Exchange
Client Access services are accessed through the same BIG-IP
virtual server.
when HTTP_REQUEST {
switch -glob [HTTP::path] {
"/Microsoft-Server-ActiveSync*" {
Direct all ActiveSync clients to a common pool; use
HTTP cookie persistence
persist cookie
pool CIS_Web_Exchange_2010__single_as_pool
HTTP::class disable
}
"/rpc/rpcproxy.dll" {
Grab all requests for Outlook Anywhere; the following
checks assign correct persistence methods.
switch -glob [HTTP::header "User-Agent"] {
"MSRPC" {
This User-Agent section matches most versions of
Outlook and Windows using Outlook Anywhere.
The OutlookSession cookie is new to Outlook 2010.
if { [HTTP::cookie exists "OutlookSession"] } {
persist uie [HTTP::header "OutlookSession"] 3600
}
else {
persist uie [HTTP::header "Authorization"] 3600
}
}
"*Microsoft Office*" {
This section matches some versions of
Outlook 2007 on Windows XP
persist uie [HTTP::header "Authorization"] 3600
}
default {
This section catches all other requests for
Outlook Anywhere, and sets a persistence method
that does not require the client to support
HTTP cookies
persist source_addr
}
}
Finally, this assigns the Outlook Anywhere pool and turns
off full HTTP parsing and compression. If the preceding
clients should be sent to separate pools, the pool statement
should be removed here, and a separate pool statement
placed in each of the preceding logic branches.
Other modules (APM, ASM, etc.) should be disabled here
as well, if active for other traffic though this virtual
server.
pool CIS_Web_Exchange_2010__single_oa_pool
HTTP::disable
COMPRESS::disable
HTTP::class disable
}
"/xml/autodiscover.aspx" {
Requests for Autodiscovery information. The selected pool
might be unique, or might be the same as e.g. your pool
for OWA or ActiveSync. In this example, we use the same
pool that receives ActiveSync traffic.
persist cookie
pool CIS_Web_Exchange_2010__single_ad_pool
HTTP::class disable
}
default {
This final section takes all traffic that has not
otherwise been accounted for and sends it to the
pool for Outlook Web App
persist cookie
pool CIS_Web_Exchange_2010__single_owa_pool
If using the Web Accelerator module, uncomment the
following line and change the name to that of
your WA class.
HTTP::class select CIS_Web_Exchange_2010__single_wa_http_class
}
}
}
Thanks
Mark