ADC

用例:动态内容切换

此用例通过使用 HTTP 标注获取请求转发到的负载平衡虚拟服务器的名称来提供动态内容切换。

  1. 添加内容交换虚拟服务器。

    add cs vserver cs_vserver1 HTTP 10.102.29.196 80
    <!--NeedCopy-->
    
  2. 创建 HTTP 标注。

    add policy httpCallout http_callout1
    <!--NeedCopy-->
    
  3. 配置 HTTP 标注以响应负载平衡虚拟服务器的名称,该请求包含 HTTP 标头“X-Client IP”中的客户端 IP 地址。

    > set policy httpCallout http_callout1 -IPAddress 10.217.14.23 -port 80 -returnType TEXT -hostExpr ""www.get-lbvip.com"" -urlStemExpr ""/index.html"" -headers X-CLIENT-IP(CLIENT.IP.SRC) -resultExpr "HTTP.RES.BODY(1000).AFTER_STR("<lbvip>").BEFORE_STR("<lbvip")"
    <!--NeedCopy-->
    
  4. 配置内容切换操作以检索标注响应。

    add cs action cs_action1 -targetVserverExpr 'SYS.HTTP_CALLOUT(http_callout1)'
    <!--NeedCopy-->
    

    注意:

    您必须将负载平衡虚拟服务器绑定到内容交换虚拟服务器,才能考虑到:

    • 标注解析到的负载平衡虚拟服务器的不可用性。
    • 由执行标注而产生的一种 UFF 条件。
    > bind cs vserver cs_vserver1 -lbvserver default_lbvip
    <!--NeedCopy-->
    
  5. 配置内容切换策略。

    add cs policy cs_policy1 -rule true -action cs_action1
    <!--NeedCopy-->
    
  6. 将内容交换策略绑定到内容交换虚拟服务器。

    bind cs vserver cs_vserver1 -policyName cs_policy1 -priority 10
    <!--NeedCopy-->
    
用例:动态内容切换