配置缓存重定向策略

缓存重定向策略包括表达式(也称为a规则).表达式表示在将客户端请求与策略进行比较时计算的条件。

您没有为缓存重定向策略显式配置操作。

缓存重定向策略有一个名称,并包括一个高级策略表达式,或一组使用逻辑操作符组合的高级策略表达式子句,以及以下内置操作:

  • 缓存
  • 起源

有关高级策略表达式的更多信息,请参阅政策和表达式

该任务指导系统管理员通过CLI添加缓存重定向策略

在命令提示符下,键入以下命令以添加缓存重定向策略并验证配置:

- add cr policy  **-rule**  -action [- logaction ] - show cr policy [] 

例子:

策略与一个简单的表达式:

>添加CR策略crpol1 -rule!(http.req.url.endswith(“jpeg”))-action originy done> show cr policy crpoll策略:crpol1规则:!(http.req.url.endswith(http.req.url.endswith(“jpeg“))行动:原产地命中:0完成<! - 需要 - >

使用复合表达式的策略:

>添加cr策略crpol11规则”http.req.method.eq (post) & & (HTTP.REQ.URL.ENDSWITH (gif) | | HTTP.REQ.URL.ENDSWITH (. cgi))的动作片缓存完成>显示cr政策crpol11政策:crpol11规则:http.req.method.eq (post) & & (HTTP.REQ.URL.ENDSWITH (gif) | | HTTP.REQ.URL.ENDSWITH (. cgi))行动:缓存命中率:0做< !——NeedCopy >

计算报头的策略:

> add cr policy crpol12 -rule http.req.header("If-Modified-Since")。exist -action origin已完成> show cr policy crpol12 policy: crpol12 Rule: http.req.header("If-Modified-Since")。exist Action: ORIGIN Hits: 0 Done 

该任务指导管理员通过CLI修改或移除缓存重定向策略

  • 要修改缓存重定向策略,请使用set cr policy命令,它与添加cr policy命令相当,除了您输入现有策略的名称,您只需提供要修改的参数。
  • 要删除策略,请使用RM CR政策命令,该命令只接受参数。如果策略绑定到虚拟服务器,则必须先解除绑定,然后才能移除策略。

有关解除缓存重定向策略的详细信息,请参阅从缓存重定向虚拟服务器解绑定策略

使用GUI使用简单的表达式配置缓存重定向策略

  1. 导航到流量管理>缓存重定向>策略

  2. 在详细信息窗格中,单击添加

  3. 创建缓存重定向策略对话框中的名字文本框,键入策略的名称。
  4. 选择适当的行动缓存起源行动下拉列表。
  5. 日志动作区域,点击添加.中键入一个名称创建审计消息操作对话框。
    • 配置日志级别从下拉列表中选择适当的值:

      • 紧急
      • 警报
      • 危急
      • 错误
      • 警告
      • 请注意
      • 信息
      • 调试
    • 进入expersion表达式区域。
      • 表达Type-General
      • 流类型要求
      • http协议
      • 限定符url
      • 运营商——! =
      • 价值——/ jpeg
    • 点击创建
  6. 要配置简单表达式,请输入表达式。下面是一个表达式的示例,用于检查jpeg在URL中扩展:

    • 表达Type-General
    • 流类型要求
    • http协议
    • 限定符url
    • 运营商——! =
    • 价值——/ jpeg

    以下示例中的简单表达式在请求中检查if-modified - 以来的标题:

    • 表达式类型一般
    • 流类型要求
    • http协议
    • 限定符筒式水管
    • 操作员 - 进一步者
    • 标题名称-If-Modified-Since
  7. 输入完表达式后,单击创建

使用简单表达式进行缓存重定向

使用GUI配置具有复合表达式的缓存重定向策略

  1. 导航到流量管理>缓存重定向>策略

  2. 在详细信息窗格中,单击添加

  3. 的名字文本框中,输入策略的名称。

    名称以字母、数字或“_”开头,长度范围为1 ~ 127个字符,由字母、数字、“-”、“。”、“#”、“空格”、“@”、“=”、“_”组成。您应该选择一个名称,以便其他人能够方便地知道创建此策略要检测的内容类型。

  4. 选择适当的行动缓存起源行动下拉列表。
  5. 日志动作区域,点击添加.中键入一个名称创建审计消息操作对话框。
    • 配置日志级别从下拉列表中选择适当的值:

      • 紧急
      • 警报
      • 危急
      • 错误
      • 警告
      • 请注意
      • 信息
      • 调试
    • 进入expersion表达式区域。
      • 表达Type-General
      • 流类型要求
      • http协议
      • 限定符url
      • 运营商——! =
      • 价值——/ jpeg
    • 点击创建
  6. 选择要创建的复合表达式的类型。你的选择是:

    • 匹配任何表情.如果有一个或多个表达式匹配流量,则策略匹配流量。

    • 匹配所有表达式.只有每个表达式都匹配流量,策略才会匹配流量。

    • 表达式表达式.将表达式列表切换为具有三列的表格格式。在最右边的列中,您将放置以下操作员之一:

      • AND[&&]操作符要求,要匹配策略,请求必须同时匹配当前表达式和以下表达式。
      • 或( 操作符要求,要匹配策略,请求必须匹配当前表达式或下一个表达式,或两者都匹配。只有当请求不匹配任何一个表达式时,它才不匹配策略。

      您还可以通过选择现有表达式并单击以下操作符之一:

      • BEGIN SUBGROUP[+(]操作符,它告诉Citrix ADC设备使用选定的表达式开始一个嵌套子组。(要从表达式中删除该操作符,请单击-(.)
      • END SUBGROUP[+)]操作符,它告诉Citrix ADC设备使用选定的表达式结束当前嵌套的子组。(要从表达式中删除该操作符,请单击-)。)
    • 先进的自由.完全关闭表达式编辑器,并将表达式列表转换为可在其中键入复合表达式的文本区域。这是创建策略表达式的最强大也是最困难的方法,仅推荐那些完全熟悉Citrix ADC经典表达式语言的人使用。

      有关在高级自由格式文本区域中创建经典表达式的详细信息,请参见配置经典策略和表达式

      警告:如果切换到高级的免费表单表达式编辑模式,则无法切换回任何其他模式。除非您确定要使用它,否则请勿选择此表达式编辑模式。

  7. 如果选择“匹配任意表达式”、“匹配所有表达式”或“表格表达式”,单击添加显示“添加表达式”对话框。

    您应该将表达式类型设置为General for Coache重定向策略。

  8. 在流类型下拉列表中,为您的表达式选择流类型。

    流类型决定了策略是检查传入连接还是传出连接。你有两个选择:

    • 要求的事情.配置Citrix ADC设备以检查传入的连接或请求。
    • RES.配置设备以检查传出连接或响应。
  9. 在“协议”下拉列表中,为您的表达式选择协议。

    该协议确定策略在请求或响应中审查的信息类型。根据您在前一个下拉列表中选择了REQ或RES,可以使用以下四个或仅三种选择:

    • http..配置设备以检查HTTP头。
    • SSL.配置设备以检查SSL客户端证书。只有在前一个下拉列表中选择了REQ(请求)时才可用。
    • TCP.配置设备以检查TCP标头。
    • 知识产权.配置设备以检查源或目的IP地址。
  10. 从“限定符”下拉列表中选择表达式的限定符。

    Qualifier下拉列表的内容取决于您选择的协议。下表描述了每种协议可用的选项。

    表1.每个协议可用的缓存重定向策略限定符

    协议 限定符 定义
    http. 方法 请求中使用的HTTP方法。
    - URL URL标头的内容。
    - Urltokens. HTTP头中的URL标记。
    - 版本 连接的HTTP版本。
    - HTTP请求的标题部分。
    - URLLEN URL头内容的长度。
    - URLQUERY 查询URL头的内容部分。
    - URLQUERYLEN URL标头的查询部分的长度。
    SSL 客户端。CERT SSL客户端证书整体。
    - CLIENT.CERT.SUBJECT 客户端证书主题字段的内容。
    - CLIENT.CERT.ISSUER 客户端证书发行者。
    - CLIENT.CERT.SIGALGO 客户端证书中使用的签名算法。
    - CLIENT.CERT.VERSION 客户端证书版本。
    - CLIENT.CERT.VALIDFROM 客户证书有效的日期。(开始日期。)
    - CLIENT.CERT.VALIDTO 客户端证书失效的日期。(结束日期)。
    - CLIENT.CERT.SERIALNUMBER 客户端证书序列号。
    - CLIENT.CIPHER.TYPE 客户端证书的加密方式。
    - client.Cipher.Bits. 加密密钥中的有效位数。
    - CLIENT.SSL.VERSION SSL版本的客户端证书。
    TCP SOURCEPORT TCP连接的源端口。
    - DESTPORT TCP连接的目标端口。
    - 海量存储系统(MSS)中 TCP连接的最大段大小。
    知识产权 SOURCEIP 连接的源IP地址。
    - Destip. 目标的目标IP地址。
  11. 从“操作员”下拉列表中选择“操作员”。

    您的选择取决于您在上一步中选择的限定符。该下拉列表中可以出现的完整操作符列表为:

    • = =。精确匹配下面的文本字符串。
    • ! =。不匹配下面的文本字符串。
    • >。大于以下整数。
    • 包含。包含以下文本字符串。
    • 内容。指定头、URL或URL查询的内容。
    • 的存在。指定的头或查询已经存在。
    • 不应。不包含以下文本字符串。
    • NOTEXISTS。指定的头或查询不存在。

    如果希望此策略对发送到特定主机的请求进行操作,可以保留默认的等号(==)。

  12. 如果“值”文本框可见,请在文本框中键入相应的字符串或数字。

    例如,如果您希望此策略选择发送到主机shopping.example.com的请求,则可以在Value文本框中键入该字符串。

  13. 如果您选择标题作为限定符,请在“标题名称”文本框中键入所需的标题。

  14. 点击好吧将表达式添加到表达式列表中。

  15. 重复步骤4到步骤11,创造更多的表达。

  16. 点击关闭以关闭“添加表达式”对话框,并返回创建缓存重定向策略对话框。
  17. 输入完表达式后,单击创建

使用复合表达式进行缓存重定向