服务路由协议
在HTTP、TLS和TCP这三个字段上分别定义了应用于HTTP、TLS和TCP三种协议的路由规则。
从规则构成上都是先定义一组匹配条件,然后对满足条件的流量执行对应的操作。
协议服务路由类型至少开启一种。同时开启的路由类型需添加一个无匹配条件的路由,作为默认路由,以免出现访问异常。
HTTP协议服务路由
HTTP是当前最通用、内容最丰富的协议,控制也最多,是ASM服务上支持最完整的一种协议。服务网格处理的是七层流量,指的主要就是这部分能力。
匹配条件参数 |
URI |
StringMatch类型,统一资源标识符,可选完全匹配/前缀匹配/正则匹配 |
输入URI,复选框可选择是否忽略大小写 |
|
---|---|---|---|---|
Scheme |
StringMatch类型,表示协议采集,可选完全匹配/前缀匹配/正则匹配 |
输入Scheme |
||
Method |
StringMatch类型,表示请求方法,可选完全匹配/前缀匹配/正则匹配 |
输入Method |
||
Authority |
StringMatch类型,表示权限配置,可选完全匹配/前缀匹配/正则匹配 |
输入Authority |
||
头域 |
Cookie内容 |
基于HTTP Cookie 计算哈希,可选完全匹配/前缀匹配/正则匹配 |
输入值 |
|
自定义Header |
基于HTTP Header 计算哈希,可选完全匹配/前缀匹配/正则匹配 |
输入键值对 |
||
用户代理 |
根据所需操作系统,选择用户代理 |
|||
端口 |
表示请求的服务端口,下拉列表中选择一个可用的端口号 |
|||
参数 |
表示匹配URL中的请求参数,可选完全匹配/前缀匹配/正则匹配 |
输入键值对 |
||
源负载标签 |
map类型的键值对,表示请求来源的负载匹配标签 |
|||
源命名空间 |
匹配源服务的命名空间 |
|||
服务目标参数 |
版本 |
选择服务子集版本 |
||
流量权重 |
可以控制实例上接收的流量比例,输入值必须在0到100之间 |
TLS协议服务路由
在服务路由中,tls是一种TLSRoute类型的路由集合,用于处理非终结的TLS和HTTPS的流量,使用客户端在TLS握手阶段建立连接使用的服务Host名做路由选择。
匹配条件参数 |
sniHost |
用于匹配TLS请求的SNI。SNI的值必须是服务路由的hosts的子集 |
||
---|---|---|---|---|
目标子网 |
目标IP地址匹配的IP子网 |
|||
端口 |
访问的目标端口 |
|||
源负载标签 |
map类型的键值对,表示请求来源的负载匹配标签 |
|||
源命名空间 |
匹配源服务的命名空间 |
|||
服务目标参数 |
版本 |
选择服务子集版本 |
||
流量权重 |
可以控制实例上接收的流量比例,输入值必须在0到100之间 |
TCP协议服务路由
所有不满足以上HTTP和TLS条件的流量都会应用TCP流量规则。
匹配条件参数 |
目标子网 |
目标IP地址匹配的IP子网 |
||
---|---|---|---|---|
端口 |
访问的目标端口 |
|||
源负载标签 |
map类型的键值对,表示请求来源的负载匹配标签 |
|||
源命名空间 |
匹配源服务的命名空间 |
|||
服务目标参数 |
版本 |
选择服务子集版本 |
||
流量权重 |
可以控制实例上接收的流量比例,输入值必须在0到100之间 |