润乾报表如何解决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-IPiRules功能可以做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表示访问报表时的URLWEB服务器地址、端口及WEB应用名组成的一个串,如http://192.168.0.1:8080/myWebApp。一般不用设置,程序可以自动拼出此串。但有时访问申请经过了服务器的多重转发,造成拼出来的串不对时,需要设置此值。特殊情况:如果出现多台机器集群或者内外网多个IP等情况,可能导致最终拼出来的ip不正确,又不能指定死ip,此时可以用/APPMAP来配置。

所以可以配置成固定的URL地址,或者使用/APPMAP

配置实例

配置reportConfig.xmlappUrlPrefix/APPMAP

页面发布后,查看页面源文件,发现原来带有端口号的url均变为相对路径,如图示:

配置为绝对url

查看页面源文件可以看到

对于该选项,本文中提到的只是用到的一个例子,而在实际应用中有很多其他的问题也可以通过配置该标签解决,使用者可以好好理解一下这个标签的含义。

热门文章