Chris_Stamm_183
Nov 03, 2010Nimbostratus
http class profile and trailing /
I have one VIP. DNS would resolve this VIP as such. 10.1.1.1 = www.abc.com
VIP: 10.1.1.1:80
To keep it simple let's say I have three http class profiles configured below.
Httpclass1
Look for host name regex string (?i)www.abc.com
Look for URI regex string (?i)uri1
If both are matched then send to Pool1
Httpclass2 Look for host name regex string (?i)www.abc.com
Look for URI regex string (?i)uri2
If both are matched then send to Pool2
Httpclass3
Look for host name regex string (?i)www.abc.com
If matched then send to Pool3
The idea is that if a person types www.abc.com/uri1 (or other variations www.abc.com/uri1/ www.abc.com/uri1/test.html etc.) they are sent to Pool1. If they send www.abc.com/uri2 they are sent to Pool2. The last http class (httpclass3) is a catch all for the domain www.abc.com. I am matching host because eventually there will be more than one host so I would want to be able to match host and URI then make the decision.
So - the problem is that the user has to type a trailing slash www.abc.com/uri1/ or www.abc.com/uri2/ otherwise it will not catch the string. If the user just types www.abc.com/uri1 or www.abc.com/uri2 then it misses the catch with httpclass1 and httpclass2 so it sends to the catch all http class (httpclass3) and the desired effect is lost.
Am I doing something wrong in my URI match in the http class?
I have tried all of the following...
/uri1 (pattern string)
/uri1* (pattern string)
uri1 (pattern string)
uri1* (pattern string)
(?1)/uri1 (regex)
(?1)/uri1* (regex)
(?1)uri1* (regex)
and none seem to work it always requires the trailing /