F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过iRules
编写强大灵活的七层路由转发规则,实现web业务的灵活应用。
iRules
是基于TCL语法的,每个iRules
必须包含事件、命令和逻辑三部分才可以有效运行。
irules常用的逻辑运算符:contains
包含、equals(==)
等于、starts_with
以开始、ends_with
以结束,另外还支持正则表达式
,需要复杂的匹配规则也可以使用正则表达式。
以上为F5 irules的基本语法及常用的逻辑运算符,那么今天主要来介绍一下,如何通过编写irules来实现常用的http路由转发。需要注意的是,要通过irules做http的转发处理,Virtual Server必须选择七层负载均衡模式即standard模式,四层负载均衡模式工作在传输层相当于是直通模式,是不会检查以及改变http请求及转发的。
场景一:基于请求的域名转发
由于公网IP有限,通过F5七层负载均衡发布Web应用,可以实现公网IP的收敛,即一个公网IP可以对应多个业务的发布。具体为可以根据请求的域名来做转发。比如说请求者访问A域名,转发到后端A服务器。请求访问B域名,转发到后端B服务器。这个功能,叫做虚拟主机功能,是比较常用的。
例如,现在我有一个公网IP:10.1.1.1,我有两个WEB应用对应的域名为http://news.aaa.com
及http://sports.aaa.com
;后端服务器群分别为pool_news
及pool_sports
。那么下面就介绍如何使用irules来实现虚拟主机的功能。
when HTTP_REQUEST