本文档介绍用户的 HTTPDNS 请求已经匹配到路由规则的线路的前提下,路由规则的 AnyMatch 配置中自定义标识的匹配规则。
假设您在一条路由规则的 AnyMatch 配置中添加了一个字符串型标识 shanghai。
如果客户端发送的 HTTPDNS 请求中,字符串型自定义标识也是 shanghai,那么该 HTTPDNS 请求会匹配到该路由规则。
移动解析 HTTPDNS 的递归 DNS 服务器会按照自定义标识之间的逻辑符(且、或)进行匹配。
假设您在一条路由规则的 AnyMatch 配置中添加了以下字符串型标识:
客户端发送的 HTTPDNS 请求与路由规则的匹配情况如下:
telecom/hebei/shijiazhuang/test,那么该 HTTPDNS 请求会匹配到该路由规则。telecom/hebei/shijiazhuang,那么该 HTTPDNS 请求会匹配到该路由规则。telecom/hebei/langfang,那么该 HTTPDNS 请求不会匹配到该路由规则。telecom/hebei,那么该 HTTPDNS 请求不会匹配到该路由规则。telecom/shanghai,那么该 HTTPDNS 请求会匹配到该路由规则。假设您在一条路由规则的 AnyMatch 配置中添加了一个数字型标识 1000。
客户端发送的 HTTPDNS 请求与路由规则的匹配情况如下:
1000,那么该 HTTPDNS 请求会匹配到该路由规则。2000,那么该 HTTPDNS 请求不会匹配到该路由规则。假设您在一条路由规则的 AnyMatch 配置中添加了以下数字型标识:
HTTPDNS 服务端会对客户端发送的 HTTPDNS 请求中的自定义标识(假设为 a)与数字型标识的 步长(假设为 b)进行取模运算。a mod b = c,如果 c 的值小于 余数 参数的值,则 HTTPDNS 请求匹配该 AnyMatch 配置所在的路由规则。
客户端发送的 HTTPDNS 请求与路由规则的匹配情况如下:
1010,因为 1010 mod 100 = 10,因此该 HTTPDNS 请求会匹配到该路由规则。2020,因为 2020 mod 100 = 20,因此该 HTTPDNS 请求不会匹配到该路由规则。92,因为 92 mod 100 = 92,因此该 HTTPDNS 请求不会匹配到该路由规则。移动解析 HTTPDNS 的递归 DNS 服务器会按照自定义标识之间的逻辑符(且、或)进行匹配。
假设您在一条路由规则的 AnyMatch 配置中添加了以下数字型标识:
客户端发送的 HTTPDNS 请求与路由规则的匹配情况如下:
1000,那么该 HTTPDNS 请求会匹配到该路由规则。2000,那么该 HTTPDNS 请求会匹配到该路由规则。2001,那么该 HTTPDNS 请求不会匹配到该路由规则。假设您在一条路由规则的 AnyMatch 配置中添加了以下数字型标识:
HTTPDNS 服务端会对客户端发送的 HTTPDNS 请求中的自定义标识(假设为 a)与数字型标识的 步长(假设为 b)进行取模运算。a mod b = c,如果 c 的值小于 余数 参数的值,则 HTTPDNS 请求匹配该 AnyMatch 配置所在的路由规则。
客户端发送的 HTTPDNS 请求与路由规则的匹配情况如下:
1010,因为 1010 mod 100 = 10,因此该 HTTPDNS 请求会匹配到该路由规则。1120,因为 1120 mod 100 = 20,因此该 HTTPDNS 请求不会匹配到该路由规则。119,因为 119 mod 100 = 19,因此该 HTTPDNS 请求会匹配到该路由规则。您可以在云调度 GTM 的 AnyMatch 配置中添加多个数字型标识,但是在以下情况下,AnyMatch 配置无法匹配到任何自定义标识: