ACE20 Module, webservices and regular expressions.
I am trying to loadbalance requests for webservices in a serverfarm. But for some reason, ACE20 module y not making matches on the requests.
We have a serverfarm Prod1 with 2 real servers and another serverfarm named WSDL with other 2 real servers.
The idea is the following, if we receive the following string, /App.WebService, the ACE should redirect it to serverfarm Prod1, but if it receives /App.WebService?wsdl, it should be redirected to WSDL.
Request with string /App.WebService --------------> ServerFarm Prod1
Request with string /App.WebService?wsdl -----> ServerFarm WSDL
We use regular expression in L7 class maps to make the loadbalance to happen.
class-map type http loadbalance match-all APP.WEBSERVICES-L7-SLB 2 match http url /App\.WebService\?wsdl class-map type http loadbalance match-all APP-L7-SLB 2 match http url /App\.WebService
policy-map type loadbalance first-match L7_SLB-POLICY class APP.WEBSERVICES-L7-SLB serverfarm WSDL class APP-L7-SLB serverfarm Prod1
Finally, after reading and reading I found a fix to this problem. Seems that the HTTP protocol uses the question mark (?) character as a delimiter for data appended to the URL. So, if you get the following:
If you configured a L7 class map to parse the URL, it will only parse until the question mark (?).
So you need to create a PARAMETER-MAP changing the URL delimiter start. Here is an example:
parameter-map type http HTTP_PARAMETER_MAP_WSDL persistence-rebalance strict set secondary-cookie-delimiters ;!@? set secondary-cookie-start ;
Introduction This article will help you understand the steps on how to
download the UCS licenses from the Cisco Systems website and then
installing it on the UCS. The redacted (blue lines) just covers up
certain numbers for privacy please do not take them...
Introduction This article will help you understand and educate the
customer on how to clear their "expired licenses"
(license-graceperiod-expired) from their UCS-M. If a customer just
purchased a license and needs a step by step guide on how to download
==================== VIC FNIC driver does not support Virtual Volumes (
second level LUN ID ) An enhancement request has been created to track
this feature - CSCux64473 UPDATE - 12-14-2016 We made some traction on
the enhancement request - The Fix is in t...