This document describes how to configure the Content Switching Module (CSM) for case sensitivity with URLs. The document configuration defines the URLs.
The examples in this document assume that there exist, at minimum:
A basic CSM configuration
At least one slb-policy configuration under the vserver configuration
The configuration must reference policy maps in this way:
virtual ip_address tcp www
This document is not restricted to specific software and hardware versions.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
By default, URLs that are defined in the CSM are case sensitive.
Consider this example, which defines a policy map. The example references both a user-defined url-map and a serverfarm:
Note: The serverfarm has the name SFARM1 in this example.
map LOWERCASE_ONLY url
match protocol http url /test*
If you enter http://www.domain.com/Test.html, an error is returned. The error states that the document cannot be found. The error occurs because you entered an uppercase T, rather than a lowercase t. The CSM sends a reset (RST) immediately after the CSM receives the client GET request, which results in the error.
For case insensitivity, configure the CSM to allow any possible combination of uppercase and lowercase characters. Here is an example:
Now, consider this policy map, which references another user-defined url-map with the name ANY_CASE. This policy map uses regular expressions to allow for case insensitivity:
map ANY_CASE url
match protocol http url /[T|t][E|e][S|s][T|t]*
The latter of these two configurations defines the regular expression. The regular expression allows for any combination of uppercase and lowercase characters for the word "test", which can be followed by any other sequence of characters. The addition of the wildcard (*) denotes any other sequence of characters to follow.