转发策略支持配置 转发规则重写规则

转发规则

通过配置转发规则,可以将来自不同域名或者不同 URL 的请求转发到不同的后端服务器组处理。转发规则包括规则类型及规则内容,分别说明如下。

  • 规则类型

    目前,企业云平台支持 按域名转发按 URL 转发按源地址转发按 HTTP Header 转发 四种规则类型,用户可以根据使用场景配置不同类型的转发规则。

  • 规则内容

    规则内容表示需要匹配的请求值,符合该规则内容,则转发至指定的目标后端。

规则类型 适用场景 规则内容说明 取值示例

按域名转发

为多个域名提供负载均衡服务,后端服务器根据域名分组管理。

  • 支持精确域名及泛域名。

  • 取值为正则表达式。

  • 多个域名之间通过空格分割,表示匹配任意一条即可。

  • ^www.example.com$

  • ^example.com$

按 URL 转发

统一服务入口下,通过不同的 URL 区分不同的子服务,后端服务器根据 URL 分组管理。

  • 取值为正则表达式。

  • 多个 URL 可通过空格分割,表示匹配任意一条即可。

  • ^/static

  • .css$

按源地址转发

将重要/特殊客户网段的请求分配给专用服务器。

支持 IP 地址或网段。

  • 1.1.1.1

  • 1.1.1.0/24

按 HTTP Header 转发

针对不同的浏览器或不同终端提供差异化的服务

  • 取值为正则表达式。

  • 多个值可通过空格分割,表示匹配任意一条即可。

Mozilla Chrome firefox

重写规则

通过配置重写规则,可以在请求转发给目标后端服务器之前,修改原始请求的路径 Path 和主机域 Host。目前,系统支持按路径重写。

重写规则固定表达式为 %[path,regsub(xx,yy,i)]

  • 规则说明

    • xxyy 可修改外,其余部分不能修改。

    • 表达式中不能含有空格,xxyy 的取值中也不能有空格。

    • path 为固定值,不可修改,%[path] 表示获取请求的路径。

    • regsub(xx,yy,i) 表示对求值结果做转换,将路径中的第一个匹配的 xx 替换成 yyi 表示不区分大小写。

  • 规则示例

    希望经过 URL 重写后,将 http://myhomer.vip/test 变成 http://myhomer.vip/tset。则添加重写规则为 %[path,regsub(test,tset,i)]

  • 优先级说明

    优先级决定了规则的执行顺序。

    • 优先级值越小,越先执行。

    • 优先级相同,则按照规则添加的顺序依次执行。

    • 多条重写规则时,按照优先级,上一条规则重写成功的输出,就是下一条重写的输入。

限制说明

  • 仅 HTTP/HTTPS/SSL 监听器支持配置自定义转发策略。

  • 在转发策略里,凡是支持正则表达式的地方,都是指的 PCRE(即 Perl-compatible-regular-expression)。

  • 如果符要匹配正则表达式的元字,如 (,),[,],*,+,{,},^,$ 等符号,需要加 \ 进行转义。

  • 匹配除换行符之外的所有字符,包括元字符。