新建路由规则
云原生网关收到访问流量时,根据配置的路由规则判断是否匹配并决定接下来的处理动作。本文介绍如何为云原生网关配置路由规则。
路由匹配优先级
当一条请求消息来临时,MSE会按照路由规则的优先级逐一匹配:
若匹配成功,则转发请求至目标服务。
若匹配失败,则继续匹配下一条路由规则。
存在多条路由规则时,按照关联域名 > 路径(Path)> 请求头(Header)> 请求参数(Query)> 创建时间的优先级从高到低依次进行排序,详细规则如下:
根据关联域名进行判断:域名字符串长度越长,优先级越高。
根据路径(Path)匹配规则进行判断:
匹配规则不同时:精确匹配 > 前缀匹配 > 正则匹配。
匹配规则相同时:路径(Path)字符串越长优先级越高。
根据请求头(Header)的键值对总数进行判断:总数越大则优先级越高。
根据请求参数(Query)的键值对进行判断:总数越大则优先级越高。
根据创建时间进行判断:创建时间越早则优先级越高。
创建路由
登录MSE网关管理控制台。
在左侧导航栏,选择云原生网关 > 网关列表,并在顶部菜单栏选择地域。
在网关列表页面,单击目标网关名称。
在左侧导航栏,单击路由管理 > 路由配置,然后在页面左上角单击创建路由。
在创建路由面板设置路由相关配置项,然后单击下一步。
重要匹配规则之间是“与”关系,即填写的规则越多匹配的范围越小。
路由之间匹配的优先级与路由配置页面展示排列顺序一致。
配置项
描述
路由名称
自定义路由名称。
关联域名
选择在域名管理中创建的域名,支持选择多个域名。
匹配规则
路径(Path)
设置匹配HTTP请求中的Path参数。
相同匹配规则时Path越长优先级越高。
不同匹配规则时精确匹配 > 前缀匹配 > 正则匹配。
精确匹配:即完全匹配,例如Path等于/user。
前缀匹配:以前缀作为匹配条件,例如Path以/user开头。
正则匹配:以正则表达式作为匹配条件。
方法(Method)
设置匹配HTTP请求中的Method参数,不填表示匹配所有参数,支持选择多种HTTP方法。
请求头(Header)
设置匹配HTTP请求中的Header参数,相同匹配规则时参数越多优先级越高。单击请求头进行添加。
请求参数(Query)
设置匹配HTTP请求中的Query参数,相同匹配规则时参数越多优先级越高。单击请求参数进行添加。
填写目标服务,然后单击保存并上线。
配置项
描述
目标服务
选择当前路由的目标服务类型。支持单服务、多服务、标签路由、Mock以及重定向。关于目标服务不同类型说明,请参见路由方式概述。
说明涉及权重的目标服务流量比例总和要求为100%。