1. 概述
1.1 版本
報表伺服器版本 |
11.0.2 |
1.2 應用場景
為了降低Websocket配置難度,11.0.2 及之後版本的報表工程,新增了一個容器Websocket方案。
該方案使用Web容器自帶的WebSocket進行連結,埠複用http埠。使用者無需對外開啟埠,無需任何手動配置。
當工程支援容器Websocket方案時,前臺訪問會優先使用新方案,失敗後使用老socket.io方案進行重試。
2. 方案執行步驟
容器Websocket方案的執行,需要滿足以下一些條件和配置。
2.1 容器環境檢驗
容器Websocket方案,僅支援以下容器:
容器 | 版本 | 說明 |
---|---|---|
Tomcat | 支援Tomcat8.5~9.0 版本 | - |
WebLogic | Weblogic12c及以上版本 | 需要修改web.xml名稱空間,其他不變 <!--修改web-app如下--> |
WebSphere | WebSphere9及以上版本 | - |
JBoss | eap6.4+ wildly9+ | eap6.4需要修改配置: web-inf下新增jboss-web.xml <?xml version="1.0" encoding="UTF-8"?> 修改${hboss_home}/standalone/configuration/standalone.xml 將protocol="HTTP/1.1"修改爲protocol="org.apache.coyote.http11.Http11NioProtocol" |
若當前工程所在容器環境滿足條件,則「管理系統>系統管理>標準」頁面不顯示「WebSocket設定」。
2.2 負載均衡配置
2.2.1 Nginx
1)修改 http 配置
在每個 location 塊下新增以下語句:
2)需檢查 Nginx 是否進行過 WebSocket 配置
打開 nginx.conf 檔案,查看是否出現以下內容:
若未出現以上內容,即未在 Nginx 中配置過 WebSocket ,可直接使用容器化 WebSocket 方案。
若出現以上內容,即曾在 Nginx 中配置過 WebSocket,需要刪除以上內容。如下圖所示:
2.2.2 traefik
無需額外配置,原ws配置保留/刪除不影響容器化WebSocket方案生效。
2.2.3 f5
無需額外配置,原ws配置保留/刪除不影響容器化WebSocket方案生效。
2.3 瀏覽器環境
容器化WebSocket方案支援 Chrome、FireFox、Edge、IE10 及以上版本瀏覽器。
容器化WebSocket方案不支援 IE9 及以下版本瀏覽器