1. 概述
1.1 版本
BI服务器版本 |
---|
5.1.20 |
1.2 应用场景
为了降低Websocket配置难度,5.1.20 及之后版本的BI工程,新增了一个容器Websocket方案。
该方案使用Web容器自带的WebSocket进行连接,端口复用http端口。用户无需对外开启端口,无需任何手动配置。
当工程支持容器Websocket方案时,前台访问会优先使用新方案,失败后使用老socket.io方案进行重试。
2. 方案执行步骤
容器Websocket方案的执行,需要满足以下一些条件和配置。
2.1 容器环境检验
容器Websocket方案,仅支持以下容器
容器 | 版本 | 说明 |
---|---|---|
Tomcat | 支持Tomcat7.0.47~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" ![]() |
TongWeb | TongWeb 6、TongWeb 7 版本 | - |
若当前工程所在容器环境满足条件,则「管理系统>系统管理>常规」页面不显示「WebSocket设置」。
2.2 负载均衡配置
类型 | 配置 |
---|---|
nginx | 若未在Nginx中配置过ws配置,则可直接使用容器化WebSocket方案 若曾在Nginx中配置过ws配置,需要删除原ws配置,修改http配置,添加 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection |
traefik | 无需额外配置,原ws配置保留/删除不影响容器化WebSocket方案生效 |
f5 | 无需额外配置,原ws配置保留/删除不影响容器化WebSocket方案生效 |
2.3 浏览器环境
容器化WebSocket方案支持 Chrome、FireFox、Edge、IE10 及以上版本浏览器。
容器化WebSocket方案不支持 IE9 及以下版本浏览器