前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云CLB的7层监听器URL转发规则优先级

腾讯云CLB的7层监听器URL转发规则优先级

原创
作者头像
拾荒者peanutchen
发布2020-03-04 12:46:33
2.2K0
发布2020-03-04 12:46:33
举报
文章被收录于专栏:陈鹏小课堂陈鹏小课堂

使用腾讯云的CLB产品,很多场景会用到http或者https监听器,使用http(s)监听器,在设置具体转发规则的时候,需要注意各个规则的优先级,避免实际转发情况与预期不符。这里对转发规则做一个补充介绍。

首先,我们可以看到官方文档https://cloud.tencent.com/document/product/214/9032的描述,URL支持使用正则表达式,并且不同的开头字符代表不同含义,个别字符不支持:

不同形式的URL表达式
不同形式的URL表达式

然后是关键的URL匹配顺序:

划重点:匹配规则:优先精确匹配,之后依照规则模糊匹配。后面是对这个规则的举例介绍,没什么问题。

但是呢,这里其实有个问题,文档的举例是依据"/"开头的URL来的,实际上对于正则表示的URL,优先级的规则不一样,我们来看一个栗子:

这里我们设置了两个不同的转发规则,转发到后端rs的不同端口,可以看到两个规则的正则是包含关系,带admin的正则更精确一些。

接下来我们看看实际转发情况:

从clb日志可以看到,实际请求被转发到30010端口,也就是匹配了相对不精确的那个规则,这个结果跟前边的"/"开头的转发URL的规则是不一样的。

到官网文档去找相关介绍,发现没有对这一情况的解释,于是去核实正则的转发规则优先级,最终确认到是跟nginx的Location规则一致,我们到nginx文档去搜寻一下具体的规则http://nginx.org/en/docs/http/ngx_http_core_module.html#location

nginx Location匹配规则
nginx Location匹配规则

可以看到正则匹配的时候,优先级是按照规则的先后顺序来的,而前面的例子中,带admin的规则是排在后面,所以优先级靠后了,这样我们的测试结果就得到了印证。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档