Forum Discussion
Vijay_Krishnan_
Nimbostratus
Dec 22, 2009uri redirection to a virtual server
Hello Mates,
I am trying to create irule with uri mapping. I need to redirect to a virtual server based on the uri. Please see the commands below which I use. For some reason it does not seem to work. Can anyone of you help. It will be greatly appreciated.
when HTTP_REQUEST {
if {[HTTP::uri] contains "/shared/sso"} {HTTP::redirect "http://DAPPEXTVIP11"}
elseif {[HTTP::uri] contains "/cml/ccb"} {HTTP::redirect "http://DAPPEXTVIP1"}
}
- The_Bhattman
Nimbostratus
Hi Vijay,when HTTP_REQUEST { log local0. "The following is the URI: [HTTP::URI] switch -glob [string tolower [HTTP::uri]] { "*shared/sso*" { HTTP::redirect "http://DAPPEXTVIP11/"} "*cml/ccb*" { HTTP::redirect "http://DAPPEXTVIP1/" } } }
- naladar_65658
Altostratus
You might also try adding "string tolower" to Bhattman's suggestion to rule out case sensitive issues:when HTTP_REQUEST { log local0. "The following is the URI: [HTTP::URI] switch -glob [string tolower[HTTP::uri]] { "*shared/sso*" { HTTP::redirect "http://DAPPEXTVIP11/"} "*cml/ccb*" { HTTP::redirect "http://DAPPEXTVIP1/" } } }
- Vijay_Krishnan_
Nimbostratus
Thanks Naladar. - Vijay_Krishnan_
Nimbostratus
I am having a syntax error..could you guys please help wih the following irule..thanks - hoolio
Cirrostratus
Hi Vijay,when HTTP_REQUEST { log local0. "The following is the URI: [HTTP::URI]" switch -glob [string tolower [HTTP::uri]] { "*services/TelephonyGatewayCheckSystemAvailable/1.0*" - "*services/TelephonyGatewayNotifyTopUpAccount/1.0*" - "*services/TelephonyGatewayNotifyBuyCLPPass/1.0*" - "*services/TelephonyGatewayNotifyGetPassCount/1.0*" - "*services/TelephonyGatewayNotifyLookupInvoice/1.0*" - "*services/TelephonyGatewayNotifyGetAccountBalance/1.0*" - "*services/TelephonyGatewayNotifyValidateLPN/1.0*" - "*services/TelephonyGatewayNotifyPayInvoice/1.0*" { HTTP::redirect "http://DAPPEXTVIP10-9906/"} } }
- Vijay_Krishnan_
Nimbostratus
Thanks Aaron for your suggestion. Yes this has solved the problem of redirection. However I want to retain the original URL even after re-directing to the Virtual server, so that external parties do not see internal virtual server. In short I want the load balancer to proxy the connections. Any suggestions. Thanks. - The_Bhattman
Nimbostratus
Hi Vijay,when HTTP_REQUEST { log local0. "The following is the URI: [HTTP::URI]" switch -glob [string tolower [HTTP::uri]] { "*services/TelephonyGatewayCheckSystemAvailable/1.0*" - "*services/TelephonyGatewayNotifyTopUpAccount/1.0*" - "*services/TelephonyGatewayNotifyBuyCLPPass/1.0*" - "*services/TelephonyGatewayNotifyGetPassCount/1.0*" - "*services/TelephonyGatewayNotifyLookupInvoice/1.0*" - "*services/TelephonyGatewayNotifyGetAccountBalance/1.0*" - "*services/TelephonyGatewayNotifyValidateLPN/1.0*" - "*services/TelephonyGatewayNotifyPayInvoice/1.0*" { HTTP::header replace Host "DAPPEXTVIP10-9906" Turn on SNAT if the client and virtual this irule is applied on is on the same side of the Interface on the LTM snat automap } }
- Vijay_Krishnan_
Nimbostratus
- The_Bhattman
Nimbostratus
Hi Vijay
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