Forum Discussion
Will_4436
Aug 09, 2012Nimbostratus
Direct traffic to a different pool based on HTTP or SOAP request.
Hi,
I hope someone can assist with the following problem:
F5 Configuration:
Single VS: 1.1.1.1
URL: http://www.domain.com/
URI: /app
Port: 443
Associated Pools: Pool A (servers receiving HTTP request) Port 1234
Pool B (servers receiving SOAP request) Port 5678
Scenario:
Both a SOAP and/or HTTP request will hit the same virtual server with the same URL and URI, separation via source IP address is not possible. A HTTP request must go to Pool A, while a SOAP request must go to Pool B.
Please see a traffic flow diagram here: http://postimage.org/image/x2o01l80r/
Any ideas on how to sperate the traffic to different pools?
Your help is greatly appreciated.
Regards,
Will
- Brian_69413NimbostratusHow about this:
when HTTP_REQUEST { if { [HTTP::header exists SOAPAction] }{ pool Pool_B } else { pool Pool_A } }
- Will_4436NimbostratusThanks Brian!
- nitassEmployeeCan this be incorporated in the same iRule?yes, you can check uri before.
when HTTP_REQUEST { if {[string tolower [HTTP::uri]] starts_with "/app"} { if {[HTTP::header exists SOAPAction]} { pool Pool_B } else { pool Pool_A } } }
- hooleylistCirrostratusIf you're only selecting a pool in some of the iRule cases, make sure to add a OneConnect profile to the virtual server to ensure each HTTP request is load balanced to the correct pool.
- Will_4436NimbostratusThats great. Worked a treat. Thanks guys!
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