更新时间:2024-09-29 GMT+08:00
分享

服务路由协议

在HTTP、TLS和TCP这三个字段上分别定义了应用于HTTP、TLS和TCP三种协议的路由规则。

从规则构成上都是先定义一组匹配条件,然后对满足条件的流量执行对应的操作。

协议服务路由类型至少开启一种。同时开启的路由类型需添加一个无匹配条件的路由,作为默认路由,以免出现访问异常。

HTTP协议服务路由

HTTP是当前最通用、内容最丰富的协议,控制也最多,是ASM服务上支持最完整的一种协议。服务网格处理的是七层流量,指的主要就是这部分能力。

表1 HTTP协议服务路由参数

匹配条件参数

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名做路由选择。

表2 TLS协议服务路由参数

匹配条件参数

sniHost

用于匹配TLS请求的SNI。SNI的值必须是服务路由的hosts的子集

目标子网

目标IP地址匹配的IP子网

端口

访问的目标端口

源负载标签

map类型的键值对,表示请求来源的负载匹配标签

源命名空间

匹配源服务的命名空间

服务目标参数

版本

选择服务子集版本

流量权重

可以控制实例上接收的流量比例,输入值必须在0到100之间

TCP协议服务路由

所有不满足以上HTTP和TLS条件的流量都会应用TCP流量规则。

表3 TCP协议服务路由参数

匹配条件参数

目标子网

目标IP地址匹配的IP子网

端口

访问的目标端口

源负载标签

map类型的键值对,表示请求来源的负载匹配标签

源命名空间

匹配源服务的命名空间

服务目标参数

版本

选择服务子集版本

流量权重

可以控制实例上接收的流量比例,输入值必须在0到100之间

相关文档