Forum Discussion
Jan_Rockstedt_4
May 29, 2013Nimbostratus
The shared mailbox is in cached mode.
Here is the exchange2010_combined_persist_irule7
Jan
iRule to select pool and persistence method when all HTTP-based services are
accessed through the same virtual server. This iRule uses an HTTP header
inserted by a BIG-IP Edge Gateway for persistence (if that header is present)
Otherwise it will set persistence according to traditional methods.
when HTTP_REQUEST {
switch -glob -- [string tolower [HTTP::path]] {
"/microsoft-server-activesync" {
Direct all ActiveSync clients to a common pool; use Auth
header value if it exists (Basic auth only, which is the
default); otherwise we fall back to client IP
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} elseif { [HTTP::header exists "Authorization"] } {
persist uie [HTTP::header "Authorization"] 7200
} else {
persist source_addr
}
pool ad_global_exchange2010_as_pool7
COMPRESS::disable
CACHE::disable
return
}
"/owa*" {
Outlook Web Access
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} else {
persist cookie insert 0
}
pool ad_global_exchange2010_owa_pool7
return
}
"/ecp*" {
Exchange Control Panel.
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} else {
persist cookie insert 0
}
pool ad_global_exchange2010_owa_pool7
return
}
"/ews*" {
Exchange Web Services.
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} else {
persist source_addr
}
pool ad_global_exchange2010_oa_pool7
COMPRESS::disable
CACHE::disable
return
}
"/oab*" {
Offline Address Book. Persistence is not required for OAB
pool ad_global_exchange2010_oa_pool7
return
}
"/rpc/rpcproxy.dll" {
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} elseif { [string tolower [HTTP::header "Authorization"]] starts_with "basic" } {
persist uie [HTTP::header "Authorization"] 7200
} else {
persist source_addr
}
Outlook Anywhere.
pool ad_global_exchange2010_oa_pool7
COMPRESS::disable
CACHE::disable
return
}
"/autodiscover*" {
Autodiscovery. No Persistence.
pool ad_global_exchange2010_ad_pool7
return
}
default {
This final section takes all traffic that has not otherwise
been accounted for and sends it to the pool for Outlook Web App
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} else {
persist source_addr
}
pool ad_global_exchange2010_owa_pool7
}}
}
when HTTP_RESPONSE {
if { [string tolower [HTTP::header values "WWW-Authenticate"]] contains "negotiate"} {
ONECONNECT::reuse disable
ONECONNECT::detach disable
NTLM::disable
}
if {[HTTP::header exists "Transfer-Encoding"]} {
HTTP::payload rechunk
}
}