ELB Ingress转发策略优先级说明
在创建ELB Ingress时,CCE会根据Ingress配置中的域名、URL等转发规则,在ELB侧配置相应的转发策略。
为了满足复杂的流量路由需求,CCE集成了ELB的高级转发策略能力,支持URL重定向、重写等高级转发能力,但高级转发策略的排序逻辑与普通的转发策略存在差异。
具体如下:
默认排序
未开启ELB高级转发策略时,转发策略的默认排序规则如下:
- 不同域名间优先级互相独立,转发规则域名与URL同时存在时,优先按照域名进行匹配。
- 转发规则为URL时,匹配优先级如下:精确匹配 > 前缀匹配 > 正则匹配,匹配类型相同时URL长度越长,优先级越高。
转发策略 |
设定值 |
转发策略排序 |
---|---|---|
URL(精确匹配) |
/test1/test2/test3 |
1 |
URL(前缀匹配) |
/test1/test2 |
2 |
URL(前缀匹配) |
/test1 |
3 |
创建转发策略后,系统会根据默认排序规则进行排序。访问示例如下:
- 访问请求www.example.com/test1/test2同时满足转发策略2和转发策略3,匹配类型相同时URL长度越长,优先级越高,则请求将按照转发策略2进行转发。
- 访问www.example.com/test1/test2/test3同时满足转发策略1、和转发策略2和转发策略3,优先精确匹配,则请求将按照转发策略1进行转发。
优先级排序
开启ELB高级转发策略后,每个请求会按照转发策略的优先级顺序(转发策略编号的数值越小,优先级越高)逐条匹配,一旦能够匹配到一条转发策略,立即按照当前转发策略进行转发。
转发策略的优先级设置规则如下:
- 配置高级转发策略前已有的转发策略会继承原有的优先级顺序。
- 配置高级转发策略后,每次新增的转发策略优先级排序最低(默认转发策略固定为最低优先级,不参与排序)。您也可以手动指定新增的转发策略优先级,详情请参见为ELB Ingress配置转发规则优先级。
转发策略 |
设定值 |
转发策略优先级设置 |
---|---|---|
URL(前缀匹配) |
/test1 |
1 |
URL(精确匹配) |
/test1 |
2 |
如以上示例,访问请求www.example.com/test1同时满足转发策略1和转发策略2,根据优先级排序,则请求将按照转发策略1进行转发。