Issues to forward requests with 'start with' due to similar contexts under same domain
Hi everybody,
A network request that seemed to be simple is giving some trouble to our network team, I'd appreciate some help.
Here's a summary of the rules to be put in place:
1) example.domain.com/cali --> forward to server1
2) example.domain.com --> forward to server2
When creating the rule with "URI starts with" from web interface it works, but there's a side effect: requests like example.domain.com/california are matching rule 1) and therefore failing, since that context is managed by some Apache at server2.
They've tried using 'IS' instead 'STARTS WITH' for /cali but then, when trailing slash is not added, it fails. It also fails when calling something like /cali/ad
Since we don't know what other possible contexts might be requested, we want just to add a rule for /cali and leave everything else (/california , /calisthenics, ...) under rule 2)
What's the issue here? Is something like it possible just using the web interface or are iRules needed? Any examples?
Thanks a lot in advance
Hi awakenings ,
you might use the regexp, but using globbing is probably less CPU intensive:
when HTTP_REQUEST { # Check the requested path (set to lowercase) # -glob: allow string pattern matching switch -glob -- [string tolower [HTTP::path]] { "/cali" - "/cali/" - "/cali/*" { log local0. "Matched pool 1 paths for [HTTP::uri]" pool pool1 } "/california" - "/california/" - "/california/*" { log local0. "Matched pool 2 paths for [HTTP::uri]" pool pool2 } default { log local0. "Hit default for [HTTP::uri]" pool pool_default } } }
This will send traffic to /cali and following segments to pool1 while traffic to /california and following segments will be forwarded to pool2.