字符串映射

您可以使用字符串映射在使用默认策略语法的所有 Citrix ADC 功能中执行模式匹配。字符串映射是由键值对组成的 Citrix ADC 实体。键和值是 ASCII 或 UTF-8 格式的字符串。字符串比较使用两个新函数,即 MAP_String(<string_map_name>) 和 IS_StringMAP_KEY(<string_map_name>)。

使用字符串映射的策略配置比通过策略表达式执行字符串匹配的策略配置更好,并且您需要更少的策略来执行对大量键值对的字符串匹配。字符串映射也是直观的,易于配置,并导致更小的配置。

字符串映射的工作原理

字符串映射在结构上与模式集类似(模式集定义了索引值到字符串的映射;字符串映射定义了字符串到字符串的映射),字符串映射的配置命令(如添加、绑定、取消绑定、删除和显示)在语法上与配置类似命令用于模式集。此外,与模式集中的索引值一样,字符串映射中的每个键在整个映射中都必须是唯一的。下表说明了名为 url_string_map 的字符串映射,其中包含作为键和值的 URL。

/url_1.html http://www.redirect_url_1.com/url_1.html
/url_2.html http://www.redirect_url_2.com/url_2.html
/url_3.html http://www.redirect_url_1.com/url_1.html

表 1. 字符串映射“字符串映射”

下表介绍了为启用字符串映射中键的字符串匹配而引入的两个函数。字符串匹配始终使用键执行。此外,以下函数执行字符串映射中的键与表达式前缀返回的完整字符串之间的比较。描述中的示例引用了前面的示例。

有关在字符串映射中启用字符串匹配的两个函数的完整信息,请参阅 字符串映射函数 表 pdf。

配置字符串映射

首先创建字符串映射,然后将键值对绑定到它。您可以从命令行界面 (CLI) 或配置实用程序创建字符串映射。

使用命令行界面配置字符串映射

在命令提示窗口中执行以下操作:

  1. 创建字符串映射。

    add policy stringmap <name> -comment <string>

  2. 将键值对绑定到字符串映射。

    bind policy stringmap <name> <key> <value>

    示例:

    > bind policy stringmap url_string_map1 "/url_1.html" "http://www.redirect_url_1.com/url_1.html"
    

    使用配置实用程序配置字符串映射

    创建字符串映射并将键值对绑定到创建的实体。

    导航到 AppExpert > 字符串映射,单击添加并指定相关详细信息。

示例:具有重定向操作的响应程序策略

以下用例涉及具有重定向操作的响应程序策略。在以下示例中,前四个命令创建字符串映射 url_string_map 并绑定前面示例中使用的三个键值对。创建映射并绑定键值对后,您可以创建一个响应程序操作 (act_url_re定向),该操作将客户端重定向到字符串映射中的相应 URL 或 www.default.com。您还可以配置响应程序策略 (pol_url_re重定向),该策略检查请求的 URL 是否与 url_string_map 中的任何键匹配,然后执行配置的操作。最后,将响应程序策略绑定到接收要评估的客户端请求的内容交换虚拟服务器。

add stringmap url_string_map

bind stringmap url_string_map /url_1.html http://www.redirect_url_1.com/url_1.html

bind stringmap url_string_map /url_2.html http://www.redirect_url_2.com/url_2.html

bind stringmap url_string_map /url_3.html http://www.redirect_url_1.com/url_1.html

add responder action act_url_redirects redirect 'HTTP.REQ.URL.MAP_STRING("url_string_map") ALT "www.default.com"' -bypassSafetyCheck yes

add responder policy pol_url_redirects TRUE act_url_redirects

bind cs vserver csw_redirect -policyname pol_url_redirects -priority 1 -type request