1. 程式人生 > >潤乾報表如何解決F5負載均衡裝置下URL限制問題

潤乾報表如何解決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:

檢視頁面原始檔可以看到

對於該選項,本文中提到的只是用到的一個例子,而在實際應用中有很多其他的問題也可以通過配置該標籤解決,使用者可以好好理解一下這個標籤的含義。