润乾报表如何解决F5负载均衡设备下URL限制问题
基于庞大的网络结构,集群服务器的使用带来了不少流量等负载问题,负载均衡技术应运而生。本文首先以F5 BIG-IP LTM(本地流量管理器)为例简单介绍一下F5附在均衡设备,然后再着重介绍润乾报表在该设备下出现的URL限制问题如何解决。
F5负载均衡设备介绍(F5 BIG-IP LTM为例)
F5 BIG-IP LTM 的官方名称叫做本地流量管理器,可以做4-7层负载均衡,具有负载均衡�应用交换�会话交换�状态监控�智能网络地址转换�通用持续性�响应错误处理�IPv6网关�高级路由�智能端口镜像�SSL加速�智能HTTP压缩�TCP优化�第7层速率整形�内容缓冲�内容转换�连接加速�高速缓存�Cookie加密�选择性内容加密�应用攻击过滤�拒绝服务(DoS)攻击和SYN Flood保护�防火墙—包过滤�包消毒等功能�
以下是F5 BIG-IP用作HTTP负载均衡器的主要功能:
①F5 BIG-IP提供12种灵活的算法将所有流量均衡的分配到各个服务器,而面对用户,只是一台虚拟服务器�
②F5 BIG-IP可以确认应用程序能否对请求返回对应的数据�假如F5 BIG-IP后面的某一台服务器发生服务停止�死机等故障,F5会检查出来并将该服务器标识为宕机,从而不将用户的访问请求传送到该台发生故障的服务器上�这样,只要其它的服务器正常,用户的访问就不会受到影响�宕机一旦修复,F5 BIG-IP就会自动查证应用已能对客户请求作出正确响应并恢复向该服务器传送�
③F5 BIG-IP具有动态Session的会话保持功能�
④F5 BIG-IP的iRules功能可以做HTTP内容过滤,根据不同的域名�URL,将访问请求传送到不同的服务器�
与润乾报表相关的问题
问题场景描述
在使用润乾报表的tag生成报表展示页面时,对于图表(图片)、功能按钮来说(所有需要发请求的页面元素),会在页面代码中生成http请求的url,比如一个含有图表的报表,生成的页面源码如下:
<img src=”http://10.222.1.123:8080/re/reportServlet?action=9&graphId=10000……>
这个请求中含有端口信息:8080,这在正常的环境下运行正常。
而在通过负载均衡设备F5后,访问应用页面的url中不允许带端口号,页面请求须用如下方式:
http://10.222.1.123/re/report/resources/reportJsp/showReport.jsp?raq=/re1.raq,否则无法访问资源。
解决方法
该问题可以通过配置reportConfig.xml中的appUrlPrefix解决。该标签在文档中是这样描述的:appUrlPrefix表示访问报表时的URL中WEB服务器地址、端口及WEB应用名组成的一个串,如http://192.168.0.1:8080/myWebApp。一般不用设置,程序可以自动拼出此串。但有时访问申请经过了服务器的多重转发,造成拼出来的串不对时,需要设置此值。特殊情况:如果出现多台机器集群或者内外网多个IP等情况,可能导致最终拼出来的ip不正确,又不能指定死ip,此时可以用/APPMAP来配置。
所以可以配置成固定的URL地址,或者使用/APPMAP。
配置实例
配置reportConfig.xml的appUrlPrefix为/APPMAP:
页面发布后,查看页面源文件,发现原来带有端口号的url均变为相对路径,如图示:
配置为绝对url:
查看页面源文件可以看到
对于该选项,本文中提到的只是用到的一个例子,而在实际应用中有很多其他的问题也可以通过配置该标签解决,使用者可以好好理解一下这个标签的含义。