A10网络负载均衡测试方案
注意: 当选择Perl、Shell和Python脚本进行健康检查时,当前应用健康检查的服务器的IP地址为(HM_SRV_IPADDR),服务器的端口为 (HM_SRV_PORT),可在脚本程序中直接调用。
4. HTTP应用模板配置及测试
创建服务器HTTP应用模板的前提是,建立新的VIP后,创建的VPORT类型为HTTP,此时VIP的部属模式为L7层部属,方可应用HTTP应用模板。
若创建的VPORT的类型为TCP,虽然端口选择的为80,则AX仍然认为此端口部属模式为L4层,健康检查不允许使用HTTP应用模板。
注意:本章内容均按照上述文中的服务器设置和拓扑架构,采用服务器为rs1和rs2,服务器组均采用sg-http,成员为rs1:80和rs2:80。
HTTP应用模板可支持的类型有:
? Failover: 当所有物理服务器宕机时,重定向到某个给出站点; ? Retry-on-5xx: 当选择的服务器出现5xx错误时,重新为请求选择同一个服务组中的另外一台服务器;
? Compression: HTTP内容压缩模板,卸载服务器CPU压缩负载,HTTP内容不在服务器上压缩,直接发送至负载均衡设备,在负载均衡上进行压缩后发送给客户端;
? Header Insert/Replace: HTTP报头替换,在HTTP的请求报头或相应包头中插入指定的内容;
? Header Erase: HTTP报头擦除,在HTTP的请求或者回应报头中,删除指定的内容;
? Host Switching: 根据HTTP报头中HOST指定的字符串来选择指定的服务组;
? Client IP Insert: 将客户端的IP地址插入到HTTP报头,使得服务器能够得到客户端IP地址;
? Redirect Rewrite: 对于客户端的请求进行重定向;
? URL Switching: 根据HTTP报头中URL指定的字符串来选择指定的服务组;
? URL Hash Persistence:在未配置Host Switching和URL Switching的情况下,可根据URL中指定位数的字符串的HASH结果进行会话保持;
? Non-HTTP bypass: 将非HTTP的流量重定向到某特定的服务组; ? Session Termination for non-compliant HTTP 1.1 Clients: 在使用连接复用的情况下,终结带有 “Connection: close”报头的连接。
A10网络负载均衡测试方案
1. Failover失效重定向
此功能的作用是当本机设置的所有的Real Server均不能提供正常服务时,AX可向客户端发送一个HTTP 302重定向的报文,使得客户端浏览器重新定向到新的地址。
本功能在设置的Real Server的健康检查全部未通过时激活。 CLI:
首先建立一个名为urlfailover的HTTP模板:
AX(config)#slb template http urlfailover
AX(config-HTTP template)#failover-url www.example2.com AX(config-HTTP template)#exit
然后在VIP下的VPORT中应用此模板
AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http
AX(config-slb virtual server-slb virtua...)#template http urlfailover
GUI:
进入配置模式—服务—模板—应用,新建一个HTTP的模板,名称为rulfailover, 失败后转到URL中输入:www.example2.com
在VIP下的VPORT中应用此模板。
进入配置模式—服务—SLB—虚拟服务器,进入所需要应用此模板的虚拟服务器配置模式;
添加或选择需要使用此模板的端口,点击编辑后进入VPORT编辑模式; 确认端口类型为HTTP,如非HTTP类型可能会看不到此模板的选项; 在子选项中的HTTP模板中选择刚才建立的HTTP模板,urlfailover; 点击确定,完成配置。
A10网络负载均衡测试方案
2. Retry-On-5xx服务器错误重试模板
若客户端访问的服务器返回错误代码为5xx,则这个代码会返回到客户端浏览器,告知浏览器当前服务器错误(例如返回HTTP 503代表服务不可用)。
AX在默认情况下会转发此代码回客户端。
AX也可以开启监听返回到服务器的报文,若出现5xx的服务器错误报文,则为此HTTP请求重新在Service Group中另外选择一台服务器,从而提高客户端的客户体验和服务质量。
CLI:
新建一个HTTP的模板,名称为5xxretry
AX(config)#slb template http 5xxretry AX(config-HTTP)#retry-on-5xx
在需要的VIP中的VPORT中启用
AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http
AX(config-slb virtual server-slb virtua...)#template http 5xxretry
GUI:
进入配置模式—服务—模板—应用,新建HTTP模板,名称为5xxretry; 在选项中选择“重试HTTP请求:”
A10网络负载均衡测试方案
在VIP下的VPORT中应用此模板
进入配置模式—服务—SLB—虚拟服务器,进入所需要应用此模板的虚拟服务器配置模式;
添加或选择需要使用此模板的端口,点击编辑后进入VPORT编辑模式; 确认端口类型为HTTP,如非HTTP类型可能会看不到此模板的选项; 在子选项中的HTTP模板中选择刚才建立的HTTP模板,5xxretry; 点击确定,完成配置。
3. Compression内容压缩模板
当客户向服务器发送HTTP请求后,服务器会根据客户端中特殊字段所表明的客户端支持的压缩方式,进行对请求内容的压缩后再发送给客户端。
HTTP内容压缩势必会增加服务器的负载,AX可以对这部分功能进行替代,根据客户端发送的HTTP报头中存在可支持的压缩方式进行压缩。AX向服务器提
A10网络负载均衡测试方案
出请求时,要求服务器无需进行压缩,能够缓解服务器的压力。当客户端请求的HTTP内容到达AX后,由AX进行压缩后,再传递给客户端。
压缩选项中,压缩等级分为1~9,默认压缩等级为1,压缩比最大,所消耗CPU资源最少,处理速度最快;9级压缩比最大,所消耗的CPU资源最大,处理速度最慢。
压缩选项中可根据内容进行,如对图片image进行压缩,或者对于zip文件进行不压缩等等。默认对text和application进行压缩。
CLI:
新建一个HTTP的模板,名称为http-compress
AX(config)#slb template http http-compress AX(config-HTTP template)#compression enable AX(config-HTTP template)#compression level 5
AX(config-HTTP template)#compression content-type image AX(config-HTTP template)#compression exclude-content-type application/zip
在需要的VIP中的VPORT中启用
AX(config)#slb virtual-server vs1 1.1.1.1 AX(config-slb virtual server)#port 80 http
AX(config-slb virtual server-slb virtua...)#template http http-compress
GUI:
进入配置模式—服务—模板—应用,新建HTTP模板,名称为http-compress;
在选项中选择“压缩”,选择启用,完成配置。