ADC

用例:动态内容切换

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

  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-->
    

    注意:

    必须将负载平衡虚拟服务器绑定到内容交换虚拟服务器以考虑以下问题:

    • 调用解析的负载平衡虚拟服务器不可用。
    • 执行标注时产生的 UNDEF 条件。
    > 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-->
    
用例:动态内容切换