Forum Discussion
Exchange iApp OWA irule Modification for Enterprise Vault
I just wanted to have someone verfiy if this is the best approach for modifying the default Exchange iApp created irule to also allow Enterprise Vault. I have added the enterprise vault section.
exchange-mail_owa_redirect_irule3when HTTP_REQUEST { if { [string tolower [http_uri]] equals "/enterprisevault" } then { pool exchange_enterprisevault } else {
if { ([HTTP::uri] == "/") } then {
HTTP::redirect https://[HTTP::host]/owa/
}
} }
15 Replies
- mikeshimkus_111Historic F5 Account
Hi Joe, you should not need to modify the iApp template if you are using a recent version.
You should be able to create a separate iRule with the pool command for Enterprise Vault, then use the iRules section in the iApp to attach that iRule to the virtual server.
The most recent version of the template is v1.2.0, which is available on downloads.f5.com.
thanks
Mike
- Joe_5599_134300
Nimbostratus
The /enterprisevault section does not seem to be working but the /owa is working. when HTTP_REQUEST { if { [string tolower [http_uri]] equals "/enterprisevault" } then { pool exchange-mail_enterprisevault } else { if { ([HTTP::uri] == "/") } then { HTTP::redirect https://[HTTP::host]/owa/ } } } - mikeshimkus_111Historic F5 AccountYou need to use the same syntax for scanning the URI: when HTTP_REQUEST { if { [string tolower [HTTP::uri]] equals "/enterprisevault" } then { pool exchange-mail_enterprisevault } else { if { ([HTTP::uri] == "/") } then { HTTP::redirect https://[HTTP::host]/owa/ } } }
- Joe_5599_134300
Nimbostratus
How can I log the irule to see if being used? It still does not seem to be working. - mikeshimkus_111Historic F5 AccountYou can use the following log statement to log a message to /var/log/ltm when the Enterprise Vault URI is seen. Also, you don't need to use "then" after your if statements: when HTTP_REQUEST { if { [string tolower [HTTP::uri]] equals "/enterprisevault" } { log local0. "enterprise vault found" pool exchange-mail_enterprisevault } else { if { ([HTTP::uri] == "/") } { HTTP::redirect https://[HTTP::host]/owa/ } } }
- Joe_5599_134300
Nimbostratus
Still not working as I do not see any traffic hitting pool member. tcltm-irp-1a-lab info tmm[12841]: Rule /Common/exchange-mail_owa_ev_irule : enterprise vault found - mikeshimkus_111Historic F5 AccountIs the Enterprise Vault URI "/enterprisevault" exactly? Try using "contains" instead: when HTTP_REQUEST { if { [string tolower [HTTP::uri]] contains "/enterprisevault" } { log local0. "enterprise vault found" pool exchange-mail_enterprisevault } else { if { ([HTTP::uri] == "/") } { HTTP::redirect https://[HTTP::host]/owa/ } } } Then ssh into the BIG-IP and run "tail -f /var/log/ltm" while you try to connect. You should see that log statement if you are getting a match.
- Joe_5599_134300
Nimbostratus
Still nothing to the enterprisevault pool members Apr 17 14:56:25 ltm-irp1a-lab info tmm2[12843]: Rule /Common/exchange-mail_owa_ev_irule : enterprise vault found Apr 17 14:56:36 ltm-irp1a-lab info tmm2[12843]: Rule /Common/exchange-mail_owa_ev_irule : enterprise vault found Apr 17 14:56:38 ltm-irp1a-lab info tmm2[12843]: Rule /Common/exchange-mail_owa_ev_irule : enterprise vault found Using this irule _______________________________________________________________________________ when HTTP_REQUEST { if { [string tolower [HTTP::uri]] contains "/enterprisevault" } { log local0. "enterprise vault found" pool exchange-mail_enterprisevault } } - mikeshimkus_111Historic F5 AccountDo your pool members match the encryption state of the server-side connection? For example, if they are expecting an encrypted connection, is the virtual server using a serverssl profile?
- Joe_5599_134300
Nimbostratus
I'm using the same VS the Exchange iPP created for all mail services. OA, OWA, AD, AS. I'm just trying to add another pool and use the same VS and URL but look for /enterprisevault. I have my new iRule in top of iRule order under the VS. I see the irule gets hit but no traffic from LTM to the server, when watching tcpdump. I just tried this irule also. ______________________________________________________________________________ hen HTTP_REQUEST { route to pool based on URI value switch -glob [string tolower [HTTP::uri]] { "/enterprisevault*" { pool exchange-mail_enterprisevault } }
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* 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