ADC

示例 8:将查询重定向到被查询的服务器

Example Inc. 想要将查询请求重定向到相应的服务器,如下所示。

  • <Request: GET /query.cgi?server=5HOST: www.example.com
  • <Redirect URL: <http://web-5.example.com/>

要实现此重定向,首先需要使用下表中的值创建重写操作。

操作名称 重写操作的类型 选择目标引用的表达式 替换文本的字符串表达式
Action-Rewrite-Replace_Hostheader REPLACE HTTP.REQ.HEADER(“Host”).BEFORE_STR(“.example.com”) “server-“ + HTTP.REQ.URL.QUERY.VALUE(“web”)

然后,您将使用下表中的值创建一个重写策略。

策略名称 操作名称 未定义的动作 表达式
Policy-Rewrite-Replace_Hostheader Action-Rewrite-Replace_Hostheader NOREWRITE HTTP.REQ.HEADER("Host").EQ("www.example.com")

示例命令:

> add rewrite action Action-Rewrite-Server_Mask REPLACE HTTP.RES.HEADER("Server") "\"Web Server 1.0\"" Done

> add rewrite policy-Rewrite-Server_Mask HTTP.RES.IS_VALID Action-Rewrite-Server_Mask NOREWRITE Done

最后,您将绑定重写策略,为其分配优先级 900。由于此策略应该是应用于符合其条件的请求的最后一个策略,因此您可以将 goto 表达式设置为 END。

对以开头的任何 URL 的传入请求 <http://www.example.com/query.cgi?server>= 都将重定向到查询中的服务器编号。

示例 8:将查询重定向到被查询的服务器