反饋已提交

網絡繁忙

容器Websocket方案

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 版本

-
WebLogicWeblogic12c及以上版本

需要修改web.xml名稱空間,其他不變

<!--修改web-app如下-->
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="http://xmlns.jcp.org/xml/ns/javaee"
   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
   id="WebApp_ID" version="3.1">

WebSphereWebSphere9及以上版本-
JBoss

eap6.4+

wildly9+

eap6.4需要修改配置:

web-inf下新增jboss-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--Enable WebSockets -->
<jboss-web>
   <enable-websockets>true</enable-websockets>
</jboss-web>

修改${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 塊下新增以下語句:

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;

2)需檢查 Nginx 是否進行過 WebSocket 配置

打開 nginx.conf 檔案,查看是否出現以下內容:

server {  
        #此處為websocket埠,如果是叢集部署,FineReport工程為38889,FineBI工程為48889
        listen 38889;              
        server_name 192.168.6.181;
        location / { 
             proxy_http_version 1.1;
             proxy_pass http://WBS.com;
             proxy_connect_timeout 75;
             proxy_read_timeout 400;
             proxy_send_timeout 400;
             #升級目標為$http_upgrade 值實際為websocket
     proxy_set_header Upgrade $http_upgrade;
             #Connection設定升級
     proxy_set_header Connection "upgrade";
             }
        }

若未出現以上內容,即未在 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 及以下版本瀏覽器

 


附件列表


主題: 數據決策系統
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉