Forum Discussion
Josh_41258
Nimbostratus
May 28, 2013Exchange 2010 iApp problems with Mac OSX 10.8 Mail App
We have a pair of LTM's (11.2.1 807.0) running the following version of the Exchange 1010 iApp:
f5.microsoft_exchange_2010_2013_vas.v1.2.0rc1
Clients who use OSX 10.8 with the Apple M...
Josh_41258
Nimbostratus
May 28, 2013iRule:
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 FC_EX2010_DC1_CAS_as_pool3
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 FC_EX2010_DC1_CAS_owa_pool3
return
}
"/ecp*" {
Exchange Control Panel.
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} else {
persist cookie insert 0
}
pool FC_EX2010_DC1_CAS_owa_pool3
return
}
"/ews*" {
Exchange Web Services.
if { [HTTP::header exists "APM_session"] } {
persist uie [HTTP::header "APM_session"] 7200
} else {
persist source_addr
}
pool FC_EX2010_DC1_CAS_oa_pool3
CACHE::disable
return
}
"/oab*" {
Offline Address Book. Persistence is not required for OAB
pool FC_EX2010_DC1_CAS_oa_pool3
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 FC_EX2010_DC1_CAS_oa_pool3
CACHE::disable
return
}
"/autodiscover*" {
Autodiscovery. No Persistence.
pool FC_EX2010_DC1_CAS_ad_pool3
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 FC_EX2010_DC1_CAS_owa_pool3
}}
}
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
}
}
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects